我有一个现有应用程序,它针对log4j进行所有日志记录。我们使用了许多其他库,这些库也使用log4j或对照Commons Logging进行日志记录,最终在环境中使用log4j进行记录。我们的依赖项之一甚至针对slf4j记录日志,它也可以正常工作,因为它最终也可以委托给log4j。
现在,我想为一些缓存需求将ehcache添加到此应用程序。先前版本的ehcache使用commons-logging,在这种情况下本来可以很好地工作,但是从1.6-beta1版本开始,他们已经删除了commons-logging的依赖关系,并改为使用java.util.logging。
并不是很熟悉java.util.logging可用的内置JDK日志记录,是否有一种简单的方法来针对log4j记录发送到JUL的任何日志消息,因此我可以使用现有配置并为即将到来的任何日志记录进行设置从ehcache?
查看JUL的javadocs,看来我可以设置一堆环境变量来更改LogManager
所使用的实现,并可能使用它来将log4j封装Logger
在JULLogger
类中。这是正确的方法吗?
具有讽刺意味的是,当世界上大多数(大多数)使用第三方库时,库使用内置的JDK日志记录会引起如此麻烦。