重新登录log4j到slf4j

时间:2012-02-21 20:34:27

标签: java log4j slf4j

如果第三方依赖项使用具体框架(例如log4j)进行日志记录,并且我希望我的应用程序通过slf4j进行所有日志记录,那么是否可以将log4j(在XML,属性文件等中)配置为将日志消息重定向到slf4j API? (在运行时,它将绑定到我选择的具体slf4j绑定。)

通过相同的API将所有日志消息发送到同一个地方会很好。

我甚至不介意我必须做一些一点疯狂的事情,比如将log4j.properties指向一些临时代码(我会写),然后将流量引导到slf4j!

我只是不知道从哪里开始。提前谢谢!

1 个答案:

答案 0 :(得分:4)

当然你可以在documentation

中彻底解释
  

log4j-over-slf4j

     

SLF4J附带一个名为log4j-over-slf4j的模块。它允许log4j用户将现有应用程序迁移到SLF4J,而无需更改单行代码,只需将log4j.jar文件替换为log4j-over-slf4j.jar,如下所述。

这既是hacky又是巧妙的 - 您要移除log4j.jar并将其替换为log4j-over-slf4j.jar。后一个JAR将Log4J类镜像到相同的包中,因此您的应用程序和库甚至不必重新编译。但是新的实现只是重新路由到SLF4J。