我有一个现有的应用程序,它针对 log4j 执行所有日志记录。我们使用许多其他库,这些库要么也使用 log4j,要么针对 Commons Logging 进行日志记录,最终在我们的环境中使用 log4j。我们的依赖项之一甚至针对 slf4j 进行日志记录,这也可以正常工作,因为它最终也会委托(delegate)给 log4j。
现在,我想为这个应用程序添加 ehcache 以满足一些缓存需求。以前版本的 ehcache 使用 commons-logging,在这种情况下可以完美运行,但从 version 1.6-beta1 开始他们已经删除了对 commons-logging 的依赖,并将其替换为 java.util.logging。
不太熟悉 java.util.logging 提供的内置 JDK 日志记录,有没有一种简单的方法可以将发送到 JUL 的任何日志消息记录到 log4j 中,这样我就可以使用我现有的配置并设置任何来自 ehcache 的日志记录?
查看 JUL 的 javadocs,看来我可以设置一堆环境变量来更改 LogManager
使用了实现,也许用它来包装 log4j Logger
七月 Logger
类(class)。这是正确的方法吗?
具有讽刺意味的是,当世界其他地区(大部分)使用 3rd 方库时,库使用内置 JDK 日志记录会引起如此头痛。
最佳答案
我成功使用的一种方法是使用 slf4j作为我的主要日志记录 API。然后我将 slf4j 绑定(bind)到 log4j。使用其他框架(如 JUL)的第 3 方依赖项可以是 bridged 到 slf4j。
关于java - 如何将 java.util.logging 发送到 log4j?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/869945/