logback是继流行日志框架log4j之后的又一个开源日志组件。它主要分为3个模块:logback-core, logback-classic and logback-access。
logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{HH:mm:ss.SSS} %-5level %logger{80} - %msg%n</Pattern>
</encoder>
</appender>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/home/xxx/apache-tomcat-7.0.55/logs/debug.%d{yyyy-MM-dd}.log</FileNamePattern> <!--打印日志信息到指定文件中-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</encoder>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="FILE" />
</root>
</configuration>
maven坐标配置:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
private static final Logger log = LoggerFactory.getLogger(XXX.class); //XXX为具体的类
我们可以通过http://www.slf4j.org/apidocs/org/slf4j/Logger.html了解到Logger类的具体的使用方法。
然后该类的方法中,我们可以记录详细日志信息:
log.info("input processRequest:{}",request);//前面的{}为占位符
log.info("key:{},value:{}",key,value);//显示结果类似为:key:xxx,value:xxx
log.info("map is null or empty ");
另外还有debug/error等方法。
......