如果第 3 方依赖项使用具体框架(例如 log4j)进行记录,并且我希望我的应用程序通过 slf4j 进行所有记录,那么是否可以配置 log4j(在 XML、属性文件等中)以将日志消息重定向到 slf4j API? (在运行时,它会绑定(bind)到我选择的具体 slf4j 绑定(bind)。)
如果能通过同一个 API 将所有日志消息发送到同一个地方就好了。
我什至不介意我是否必须做一些有点疯狂的事情,比如将 log4j.properties 指向一些临时代码(我会编写),这反过来将流量引导至 slf4j!
我只是不知道从哪里开始。提前致谢!
最佳答案
当然可以,documentation 中对此进行了详尽的解释:
SLF4J ship with a module called
log4j-over-slf4j
. It allows log4j users to migrate existing applications to SLF4J without changing a single line of code but simply by replacing the log4j.jar file withlog4j-over-slf4j.jar
, as described below.
它既巧妙又巧妙 - 您正在删除 log4j.jar
并将其替换为 log4j-over-slf4j.jar
。后一个 JAR 镜像相同包中的 Log4J 类,因此您的应用程序和库甚至不必重新编译。但是新的实现只是重新路由到 SLF4J。
关于java - 将 log4j 重新路由到 slf4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384729/