Log4j 2.0和SLF4J以及Java日志框架永无止境的未来
所以我今天刚刚发现Log4J 2.0现在正在积极开发中,有一个alpha版本,据说取代了logback。
现在在我的应用程序,我有接近4或许更多的日志框架:
- Java Util日志logging
- log4j的
- SLF4J
- logback(忽略感谢提供黑客的maven)
- 公共日志logging(忽略感谢提供黑客的maven)
- 而tomcat有它自己的JULI适配器
我一直在使用log4j(1.2.x),坦率地说,我只是不需要更新的人的function ,但我最近试图切换到SLF4J,主要是因为我不想重写我复杂的log4jconfiguration文件到一个新的格式 (logback)。
现在我的问题是,我应该针对的是SLF4J是log4j 2.0未来的正确select。
似乎我应该坚持使用旧的log4j( 1.2.x
),因为它是最低的共同点?
更新:在进一步检查log4j 2.0而非常类似的情况下,它的configuration与log4j 1.2不兼容。 看起来像logback是最好的select。
这是一个主观的问题。
我build议使用slf4j,因为它可以使用log4j作为后端,如果这是你所需要的。
您可能正在使用许多可能使用不同日志loggingAPI的组件。 能够通过这些API将输出整合到单个输出path是一件好事。
免责声明 :我是log4j,slf4j和logback项目的创始人,但与log4j 2.0无关。
据我了解,尽pipe它的名字,log4j 2.0是非常不同于log4j 1.x. 就用户API而言,log4j 2.0在很大程度上与log4j 1.x不兼容。 Log4j 2.0为log4j 1.x提供了一个适配层,目前为止(2012-08) undocumented
。