servlet 4.0版本log4j2自动初始化禁用无法与上下文参数isLog4jAutoInitializationDisabled一起使用

servlet 4.0版本log4j2自动初始化禁用无法与上下文参数isLog4jAutoInitializationDisabled一起使用,log4j,java-11,servlet-4,Log4j,Java 11,Servlet 4,我当前的web应用程序使用Servlet 4.0版本和 我正在尝试禁用log4j2的自动初始化,下面是我的web.xml 我遵守了这份文件 中心实践 org.apache.logging.log4j.web.Log4jServletContextListener 中心实践 org.apache.logging.log4j.web.Log4jServletFilter 中心实践 /* 要求 向前地 包括 错误 isLog4jContextSelectorNamed 真的 Log4J配置 文件:/

我当前的web应用程序使用Servlet 4.0版本和 我正在尝试禁用log4j2的自动初始化,下面是我的web.xml 我遵守了这份文件


中心实践
org.apache.logging.log4j.web.Log4jServletContextListener
中心实践
org.apache.logging.log4j.web.Log4jServletFilter
中心实践
/*
要求
向前地
包括
错误
isLog4jContextSelectorNamed
真的
Log4J配置
文件://C://jboss//standalone//deployments//CentricityPracticeEAR.ear//init//log4j2.xml
log4jContextName
中心实践
isLog4jAutoInitializationDisabled
真的
earDeploymentDescriptorPath
application.xml
com.CustomListener
log4jRefreshInterval
60000
log4jExposeWebAppRoot
假的
org.springframework.web.util.Log4jConfigListener
parentContextKey
中心性
定位器工厂选择器
/beanrefactory.xml
上下文配置位置
/WEB-INF/context-WEB.xml
org.springframework.web.context.ContextLoaderListener
index.html
禁用自动初始化不适用于上述web.xml

我也试着只保持在下面,但没有运气

<context-param>
    <param-name>isLog4jAutoInitializationDisabled</param-name>
    <param-value>true</param-value>
</context-param>

isLog4jAutoInitializationDisabled
真的
如果上面的web.xml配置有任何问题,请纠正我
你的帮助很重要

我可以确认没有从server.log文件禁用自动初始化 因为,我有一个在服务器启动时调用的侦听器, 我在侦听器中有一些调试语句,它们在log4j初始化之前打印, 因此,log4j是在侦听器启动之前首先初始化的。该流程与log4j 1.2.17版本的预期一样工作

我正在侦听器中设置一些变量,希望在log4j2.xml中使用这些变量。
由于log4j是在我的侦听器之前进行初始化,并且变量未解析

如何判断是否禁用了自动初始化?您的
web.xml
包含
Log4jServletContextListener
Log4jServletFilter
的定义,它们执行与禁用的
Log4jServletContainerInitializer
相同的任务。问题得到解决,项目中还有几个其他log4j2.xml文件可用,log4j库希望在删除这些冗余文件后,为变量解析这些文件,而不是我正在使用的文件
<context-param>
    <param-name>isLog4jAutoInitializationDisabled</param-name>
    <param-value>true</param-value>
</context-param>