logback的使用

logback是log4j作者ceki的又一力作,性能比log4j有着更大的提升,在写日志的时候支持预处理操作,比如:
   logger.debug("这是{}的{}日志",new Object[]{"我的","第一篇"});
等等性能更高的日志处理方式。其配置也很简单在class目录下配置logback.xml即可:
<?xml version="1.0" encoding="UTF-8"?> 

<configuration>   
<property name="LOG_HOME" value="c:/log" /> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
       <Encoding>UTF-8</Encoding>  
        <layout class="ch.qos.logback.classic.PatternLayout">  
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n  
            </pattern>  
        </layout>  
    </appender>  
    <appender name="FILE" class="com.aipi.logback.TimeRollingFileAppender">  
    <!--  <appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> -->
        <Encoding>UTF-8</Encoding>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>${LOG_HOME}/myApp.log.%d{yyyy-MM-dd_HH_mm}.log</FileNamePattern>  
            <MaxHistory>2</MaxHistory>  
        </rollingPolicy>  
       <!--  <triggeringPolicy class="com.aipi.logback.TimeEventTriggeringPolicy" /> -->
        <layout class="ch.qos.logback.classic.PatternLayout">  
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n  
            </pattern>  
       </layout>  
    </appender>  
 
    <root level="DEBUG">  
        <appender-ref ref="STDOUT" />  
        <appender-ref ref="FILE" />  
    </root>  
</configuration>

TimeBasedRollingPolicy指按时间段分片日志,此配置为按分钟分片。配置里自定义了RollingFileAppender,因为logback的日志文件如果不写内容是不会产生文件的,扩展RollingFileAppender后,只要到时间点就会生成日志分片文件,方便不同的需求。
    除此之外,logback还支持按日志文件大小分片并压缩保存,配置如下:
   <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <MaxFileSize>2MB</MaxFileSize>
   </TimeBasedFileNamingAndTriggeringPolicy>  
  另外,logback支持多种日志文件同时打印,更多的功能还在研究中。。。

你可能感兴趣的:(logback)