在ContextListener中加载log4j



我正试图从log4j 1移动。X到2。x,我遇到了一些麻烦。我使用的是slf4j/log4j1.2。X,但我试图摆脱slf4j的东西,只是使用log4j。

我有一个web应用程序,它使用两个共享的jar,它们有自己的log4j配置文件。以前,我可以使用DOMConfigurator加载它们:

DOMConfigurator.configure(Loader.getResource(sContext.getInitParameter(CoreServicesListener.INIT_SYSLOGGING_FILE)));

不确定如何在log4j2中执行此操作。我在网上查了几个资源,似乎没有什么能让我找到正确的道路。我希望有人能帮忙。

最简单的解决方案是将您的自定义ServletContextListener替换为log4j-web模块(参考文档)。

log4j-web模块使用servlet上下文参数"log4jConfiguration",它接受字符串插值。如果由于任何原因不能更改旧的参数名称,则可以设置"log4jconfiguration"的值。到${web:initParam.old_param_name}(cf. Web Lookup).

评论>: Log4jX和2。X配置格式不兼容。迁移前需要转换配置文件

最新更新