重新登录log4j到slf4j

IAm*_*aja 5 java log4j slf4j

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

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

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

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

Tom*_*icz 5

当然你可以,它在文档中进行了彻底的解释:

log4j-over-slf4j

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

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