现在的位置: 首页 > 综合 > 正文

commons-logging 结合log4j 日志无法正常使用

2013年09月09日 ⁄ 综合 ⁄ 共 513字 ⁄ 字号 评论关闭

最近遇到了一个问题,使用commons-logging 结合log4j 日志无法正常输入到控制台及文件,结果想和大家分享一下

因为引用Jar包都是通过以前项目拷贝过来的,所以也没有排除那些不用的jar包。

因为现在公司产品都使用slf4j打印日志,这个是没有问题的,但是如果使用commons-logging,当存在以下jar包时候就会有问题

Jcl-over-slf4j.jar

这个jar默认会找slf4的logfactory进行创建日志,因此commons-logging就无效了。

 

去掉这个jar是不是就可以了呢?虽然现在可以使用commons-logging输出日志了,但是没有按照Log4j.properties的配置输出日志,并且日志名称为jxl.log,这个日志明显是操作excel的jxl生成的日志,所以找到jxl.jar


发现jxl的log4jLogger.class 覆盖了log4j的配置,适用了jxl的配置,因此无法按照我们自己的log4j.properties进行日志输出,除非在程序手动加载log4j.properties,否则那种默认直接加载classpath下的log4j.properties是无法适用的。

抱歉!评论已关闭.