【原创】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

 

   
  		org.slf4j
  		slf4j-api
  		1.6.2
  	
  	
  		org.slf4j
  		jcl-over-slf4j
  		1.6.2
  	
  	
  		ch.qos.logback
  		logback-core
  		0.9.29
  	
  	
  		ch.qos.logback
  		logback-classic
  		0.9.29
  	
 

 logback会依次读取以下类型配置文件:logback.groovy,logback-test.xml,logback.xml

logback.xml样例如下:

 

  
  
    
      
      %d{yyyy/MM/dd-HH:mm:ss.SSS} %level [%thread] %class:%line>>%msg%n  
      
    
  
    
      
    

 其中pattern属性的意义跟log4j基本相同,具体可参考官方文档:http://logback.qos.ch/manual/layouts.html

logback.groovy的样例代码如下:

 

import static ch.qos.logback.classic.Level.DEBUG
import ch.qos.logback.classic.encoder.PatternLayoutEncoder
import ch.qos.logback.core.ConsoleAppender

appender("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的使用,需要注意的是:

 

  1. logback.groovy需要放在源码包的根目录下,否则会找不到。
  2. 在eclipse中,如果安装了groovy的插件,需要将放置logback.groovy的源码包位置设置为groovysrcipt的所在位置,即在编译的时候不将goorvy编译成class文件,而是直接讲groovy脚本复制到output path下。否则扔无法生效。


【原创】slf4j+logback配置方式,logback.groovy使用备忘_第1张图片
 另外,个人使用中发现,使用xml的配置方式比groovy在第一次解析的时候要快很多,当然解析后效率一样。

 

你可能感兴趣的:(Java,nocloud)