slf4j+logback应用

简介

略...

使用

用slf4j+logback替代commons-logging+log4j

  1. 加载以下jar包:
    slf4j-api.jar
    logback-core.jar
    logback-classic.jar
    log4j-over-slf4j.jar
    jcl104-over-slf4j.jar
  2. 同时删除commons-logging.jar和log4j.jar
  3. http://logback.qos.ch/translator/Welcome.do转换log4j.properties为logback.xml 

体会

 在目前大量开源框架使用commons-logging和log4j的情况下,单纯切换到slf4j没有什么必要,除了多了些日志接口,增强了参数设置,没有本质上的改进;而slf4j+logback的联合方式还是有前景的,同原先的log4j相比logback有以下改进:

  1. 支持按文件大小或基于时间的切分方式,可自定义命名模式
  2. 支持文件打包(触发器方式)
  3. 支持OSGI环境

 

 

FAQ

问题1:org.slf4j.impl.StaticLoggerBinder.SINGLETON

产生原因:slf4j-1.5.5+logback-0.9.13使用时会报该错误

解决:升级slf4j到1.5.6

 

问题2:Failed to load class org.slf4j.impl.StaticLogger

产生原因:slf4j未找到具体的日志实现

解决:选择一种日志实现放入类路径中,可选实现有:slf4j-nop.jar , slf4j-simple.jar , slf4j-log4j12.jar , slf4j-jdk14.jar or logback-classic.jar

 

 

问题3:java.lang.NoClassDefFoundError: org/codehaus/janino/ExpressionEvaluator

产生原因:未加载janino.jar。

说明:在使用ch.qos.logback.classic.net.SMTPAppender的时候发生。Janino是一种内嵌的开源Java编译器。Janino并不是一种提供给开发人员编译程序的编译器,而是Java程序在运行时编译Java代码的编译器。Janino通过动态编译代码,从而提高了程序的性能。

解决:将janino.jar加入类路径

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值