我有一个运行 WebApp 的 WebSphere Application Server。我从 Eclipse 启动服务器。该应用程序中的主要日志框架是 log4j2,但也有一些第三方库使用 java.util.logging。我想将这些日志重定向到 log4j2,以便它使用我的过滤器、日志格式等。
我已经在这里和这里问过关于这个话题的问题。首先,我尝试通过将 java util设置为 log4j-jul jar 提供的方法来使用 apache 建议的方法。LogManager如第一个链接问题所示,这在我的用例中并不适用。因为应用程序在 Websphere 服务器中作为 WebApp 运行,所以实际上并没有加载 log4j-jul jar 并且我可以换出LogManager, 但在任何调用 java util 之前Logger或者LogManager因为服务器使用这些在加载 jar 并配置我的 Log4J2 设置之前记录语句。
然后我尝试Log4jBridgeHandler按照第二个链接问题中的建议使用。起初我认为这很有效,因为我的测试 java util Log 语句以我当前的 Log4j2 格式打印。
不过,这种方法确实有两个问题:我不能使用设置处理程序和级别的方式,logging.properties因为它根本没有效果(我已经通过文件中的系统属性设置了logging.properties文件的路径)。java.util.logging.config.filejvm.options
帮助的是使用 的install()方法Log4jBridgeHandler,因为这使得 java util 日志以我的 Log4j2 格式打印。但是我创建的 java utilLogger没有所需的级别,ALL而是 default INFO,尽管根记录器具有正确的级别。因此,java util 日志记录函数中的默认守卫阻止了桥接器被输入,因此我永远无法记录低于该INFO级别的任何内容。
所以是的,我没有主意。我做错什么了吗?我所做的应该有效吗?
暮色呼如
动漫人物
随时随地看视频慕课网APP
相关分类