【原创】slf4j+logback配置方式,logback.groovy使用备忘
最近看到slf4j+logback的日志方案,决定从commons-logging+log4j切换过来。
logback官网:(该作者即为log4j的作者)
http://logback.qos.ch/
切换方式非常简单,在原有基础上加入如下jar包即可。
slf4j-api-1.6.2.jar
jcl-over-slf4j-1.6.2.jar ?\\用于桥接commons-logging 到 slf4j,如果直接使用slf4j+logback的方案则无需此jar
logback-core-0.9.29.jar
logback-classic-0.9.29.jar
?
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>0.9.29</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>0.9.29</version> </dependency>?
?logback会依次读取以下类型配置文件:logback.groovy,logback-test.xml,logback.xml
logback.xml样例如下:
?
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="stdout" /> </root> </configuration>
?其中pattern属性的意义跟log4j基本相同,具体可参考官方文档:http://logback.qos.ch/manual/layouts.html
logback.groovy的样例代码如下:
?
import static ch.qos.logback.classic.Level.DEBUGimport ch.qos.logback.classic.encoder.PatternLayoutEncoderimport ch.qos.logback.core.ConsoleAppenderappender("CONSOLE", ConsoleAppender) { encoder(PatternLayoutEncoder) { pattern = "%d{yyyy/MM/dd-HH:mm:ss} %-5level [%thread] %class{5}:%line>>%msg%n" }}root(DEBUG, ["CONSOLE"])??
?
官方提供了logback.xml->logback.groovy的转换工具,地址如下:http://logback.qos.ch/translator/asGroovy.html
对于logback.groovy的使用,需要注意的是:
?

?另外,个人使用中发现,使用xml的配置方式比groovy在第一次解析的时候要快很多,当然解析后效率一样。
?