【发布时间】:2015-10-17 14:26:03
【问题描述】:
我需要更改 log4j2 配置文件的默认位置。我按照这里的文档 https://logging.apache.org/log4j/2.x/manual/webapp.html
但是 log4j2 可以看到的唯一文件是类路径中的 log4j2.xml。否则我会得到“找不到 log4j2 配置文件”
我试过了:
-1 设置上下文参数
-2 将系统属性 Log4jContextSelector 设置为“org.apache.logging.log4j.core.selector.JndiContextSelector”。并使用 JNDI 选择器
如此处所述 https://logging.apache.org/log4j/2.x/manual/webapp.html#ContextParams
-3 查找:web、env、sys、ctx 和 bundle。前 4 个失败的包有效,但您只能在类路径中查找。
-4 将isLog4jAutoInitializationDisabled 设置为true,我不确定在这种情况下如何配置过滤器。如果我将它们包含在 web.xml 中,应用程序将不会部署。
项目中的jar
./WEB-INF/lib/log4j-jcl-2.4.1.jar
./WEB-INF/lib/log4j-core-2.4.1.jar
./WEB-INF/lib/log4j-slf4j-impl-2.4.1.jar
./WEB-INF/lib/log4j-api-2.4.1.jar
【问题讨论】: