common-logging和log4j切换到logback

来源:互联网 发布:mac上刀剑乱舞 编辑:程序博客网 时间:2024/06/10 14:41
总结是一面镜子,多总结可以使自己进步。最近项目组需要将工程中原有的log4j日志组件转换为logback。为什么要转换,网上比较logback和log4j的一大堆,logback性能比log4j好很多,下面,我就介绍一下log4j转换logback的方法,可能遇到的问题及解决方案。其中涉及到的jar包会在最后给出下载链接。

log4j切换到logback的步骤:

1.将logback-classic和logback-core的jar包引入到工程,将有关log4j的jar包从工程的classpath中移除。

2.确认工程引入了slf4j的jar包,作为日志的适配。

3.在工程中新建logback.xml文件,将原来log4j配置文件(log4j.properties),转换为logback的对应配置,然后将log4j.properties删除。

4.将工程中,由于缺失了log4j.jar引起的错误进行修正,改为利用logback实现。
 


可能遇到的问题及解决方案:

1.Log4j转换到logback后,运行后spring的日志都以红字输出到控制台,而不受logback控制。

因为Spring的日志默认采用commons-logging,解决方法是在工程中引入jcl-over-slf4j-1.6.1.jar,这样就将commons-logging与slf4j对接,再通过logback进行了日志的统一输出。

2.切换完成后,启动工程时会出现java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory这个错误。

原因是slf4j-api的jar包版本太低,改为slf4j-api-1.6.4.jar即可解决。 


涉及到的jar包,下载链接:


http://pan.baidu.com/share/link?shareid=475873&uk=152821134


参考链接:http://www.cnblogs.com/FlameRen/archive/2013/04/15/3021753.html?utm_source=tuicool
0 0
原创粉丝点击