Log4j 2.0 和 SLF4J 以及 Java 日志记录框架的永无止境的未来 [已关闭]

2022-09-01 03:54:18

所以我今天才发现Log4J 2.0现在正在积极开发中,有一个alpha版本,据说它取代了logback。

现在在我的应用程序中,我有近4个甚至更多的日志记录框架:

  • Java Util Logging
  • log4j
  • slf4j
  • logback(由于专家提供的黑客而忽略)
  • 共享资源日志记录(由于专家提供的黑客而忽略)
  • 雄猫有自己的JULI适配器

我一直在使用log4j(1.2.x),因为坦率地说,我只是不需要新人的功能,但我最近一直想切换到SLF4J,主要是因为我不想将复杂的log4j配置文件重写为新格式(logback)。

现在我的问题是,在给定log4j 2.0的情况下,我应该针对什么进行编码,SLF4J是未来的正确选择。

似乎我应该坚持使用旧的log4j(1.2.x),因为它是最低的公分母?

更新:在进一步检查log4j 2.0时,虽然非常相似,但似乎配置与log4j 1.2不向后兼容。看起来日志备份是最好的选择。


答案 1

免责声明:我是log4j,slf4j和logback项目的创始人,但与log4j 2.0无关。

据我所知,尽管它的名字,log4j 2.0与log4j 1.x非常不同。就用户API而言,log4j 2.0在很大程度上与log4j 1.x不兼容,Log4j 2.0为log4j 1.x提供了一个适配层,目前(2012-08)尚未记录


答案 2

这是一个主观问题。

我建议使用slf4j,因为如果需要,它可以使用log4j作为后端。

您可能正在使用许多组件,这些组件可能都使用不同的日志记录 API。能够通过这些 API 将输出合并到单个输出路由中是件好事。


推荐