gpt4 book ai didi

java - 第二个模块中的 Web 服务处理程序阻止 log4j2 配置

转载 作者:行者123 更新时间:2023-11-29 04:42:30 27 4
gpt4 key购买 nike

环境:JDK 7、WebLogic 12.1.3.0 服务器(补丁 3)Maven构建系统

基于 Maven,我有一个网络服务 WAR 模块,该模块依赖于定义网络服务处理程序的第二个 JAR 模块。Webservice 模块有一个上下文监听器,稍后应该从数据库(循环)初始化 log4j2。在任何地方都没有定义 log4j2.xml,也没有定义。

问题是,当通过在 web 服务端点使用 @HandlerChain 注释启用处理程序时,log4j2 配置会在 web 服务上下文监听器可以初始化它之前损坏。

模块演示Web服务:

@WebService(endpointInterface = "demo.IDemoWebService")
@HandlerChain(file = "handlers.xml")
public class DemoWebService implements IDemoWebService {
...
}

public class DemoServletContextListener implements ServletContextListener {

/** Status Logger */
private static final Logger LOG = StatusLogger.getLogger();

@Override
public void contextInitialized(ServletContextEvent event) {
System.out.println("Demo listener context intialized");
System.out.println(LOG.getLevel() + " - " + LOG.isDebugEnabled() + " - " + LOG.isInfoEnabled() + " - " + LOG.isWarnEnabled());

LOG.info("LOG Demo listener context intialized");
}

@Override
public void contextDestroyed(ServletContextEvent event) {
System.out.println("Demo listener context destroyed");
LOG.info("LOG Demo listener context destroyed");
}
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

<display-name>DemoWebService</display-name>

<!-- log4j2 configuration -->
<context-param>
<param-name>isLog4jAutoInitializationDisabled</param-name>
<param-value>true</param-value>
</context-param>

<listener>
<listener-class>demo.DemoServletContextListener</listener-class>
</listener>

...
</web-app>

handlers.xml

<?xml version="1.0" encoding="UTF-8"?>
<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
<handler-chain>
<handler>
<handler-name>Performance</handler-name>
<handler-class>demo.wshandler.WebServiceDemoHandler</handler-class>
</handler>
</handler-chain>
</handler-chains>

模块处理器:

public class WebServiceDemoHandler {

private static Logger log = LogManager.getLogger(WebServiceDemoHandler.class);

@Override

public boolean handleMessage(SOAPMessageContext context) {
log.info("something");
return true;
}

@Override
public boolean handlingNotRequired() {
return false; // this handler always handles the message
}
}

现在,当我在部署期间比较服务器日志时,@HandlerChain(file = "handlers.xml") 处于 Activity 状态时,以及注释掉时,日志中的差异基本上是以下几行:

处理程序链不活跃:

Demo listener context intialized
TRACE - true - true - true
INFO StatusLogger LOG Demo listener context intialized

处理程序链处于 Activity 状态:

DEBUG StatusLogger Loaded Provider Provider[priority=10, className=org.apache.logging.log4j.core.impl.Log4jContextFactory, url=zip:C:wl_homeSer_projectsdomainsbase_domain/tmp/_WL_user/DemoWebService-1.0-SNAPSHOT/3or6mr/war/WEB-INF/lib/log4j-core-2.6.jar!/META-INF/log4j-provider.properties, classLoader=weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f]
DEBUG StatusLogger Loaded Provider Provider[priority=10, className=org.apache.logging.log4j.core.impl.Log4jContextFactory, url=zip:C:wl_homeSer_projectsdomainsbase_domain/tmp/_WL_user/DemoWebService-1.0-SNAPSHOT/3or6mr/war/WEB-INF/lib/log4j-core-2.6.jar!/META-INF/log4j-provider.properties, classLoader=weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war]
DEBUG StatusLogger Using ShutdownCallbackRegistry class org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry
DEBUG StatusLogger Using ShutdownCallbackRegistry class org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry
DEBUG StatusLogger Took 0,086401 seconds to load 184 plugins from weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f
DEBUG StatusLogger PluginManager 'Converter' found 41 plugins
DEBUG StatusLogger Jansi is not installed, cannot find org.fusesource.jansi.WindowsAnsiOutputStream
DEBUG StatusLogger Starting OutputStreamManager SYSTEM_OUT.false-1
DEBUG StatusLogger Starting LoggerContext[name=7d5bfc18, org.apache.logging.log4j.core.LoggerContext@31da3f72]...
DEBUG StatusLogger Reconfiguration started for context[name=7d5bfc18] at URI null (org.apache.logging.log4j.core.LoggerContext@31da3f72) with optional ClassLoader: null
DEBUG StatusLogger PluginManager 'ConfigurationFactory' found 4 plugins
DEBUG StatusLogger Missing dependencies for Yaml support
DEBUG StatusLogger Missing dependencies for Json support
DEBUG StatusLogger Using configurationFactory org.apache.logging.log4j.core.config.ConfigurationFactory$Factory@83bf63b
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.properties] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.properties] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.properties] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.properties] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.yml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.yml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.yml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.yml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.yaml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.yaml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.yaml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.yaml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.json] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.json] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.json] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.json] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.jsn] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.jsn] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.jsn] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.jsn] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.xml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.xml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.xml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test7d5bfc18.xml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test.properties] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test.properties] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test.properties] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test.properties] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test.yml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test.yml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test.yml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test.yml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test.yaml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test.yaml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test.yaml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test.yaml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test.json] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test.json] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test.json] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test.json] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test.jsn] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test.jsn] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test.jsn] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test.jsn] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2-test.xml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2-test.xml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2-test.xml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2-test.xml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j27d5bfc18.properties] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j27d5bfc18.properties] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.properties] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.properties] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j27d5bfc18.yml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j27d5bfc18.yml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.yml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.yml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j27d5bfc18.yaml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j27d5bfc18.yaml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.yaml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.yaml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j27d5bfc18.json] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j27d5bfc18.json] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.json] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.json] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j27d5bfc18.jsn] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j27d5bfc18.jsn] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.jsn] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.jsn] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j27d5bfc18.xml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j27d5bfc18.xml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.xml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j27d5bfc18.xml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2.properties] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2.properties] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2.properties] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2.properties] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2.yml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2.yml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2.yml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2.yml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2.yaml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2.yaml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2.yaml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2.yaml] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2.json] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2.json] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2.json] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2.json] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2.jsn] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2.jsn] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2.jsn] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2.jsn] using ClassLoader.getSystemResource().
TRACE StatusLogger Trying to find [log4j2.xml] using context class loader weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f.
TRACE StatusLogger Trying to find [log4j2.xml] using weblogic.utils.classloaders.ChangeAwareClassLoader@7d5bfc18 finder: weblogic.utils.classloaders.CodeGenClassFinder@5a13f911 annotation: DemoWebService-1.0-SNAPSHOT@DemoWebService-1.0-SNAPSHOT.war class loader.
TRACE StatusLogger Trying to find [log4j2.xml] using weblogic.wsee.util.ClassLoaderUtil$DelegatingLoader@2883f04f class loader.
TRACE StatusLogger Trying to find [log4j2.xml] using ClassLoader.getSystemResource().
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
DEBUG StatusLogger PluginManager 'Converter' found 41 plugins
DEBUG StatusLogger Jansi is not installed, cannot find org.fusesource.jansi.WindowsAnsiOutputStream
DEBUG StatusLogger Starting OutputStreamManager SYSTEM_OUT.false-2
DEBUG StatusLogger Initializing configuration org.apache.logging.log4j.core.config.DefaultConfiguration@6b1cf2b3
DEBUG StatusLogger Installed script engines
DEBUG StatusLogger juel Version: 1.0, Language: JSP 2.1 EL, Threading: MULTITHREADED, Compile: false, Names: {juel}
DEBUG StatusLogger Oracle Nashorn Version: 1.8.0_71, Language: ECMAScript, Threading: Not Thread Safe, Compile: true, Names: {nashorn, Nashorn, js, JS, JavaScript, javascript, ECMAScript, ecmascript}
DEBUG StatusLogger Groovy Scripting Engine Version: 2.0, Language: Groovy, Threading: MULTITHREADED, Compile: true, Names: {groovy, Groovy}
DEBUG StatusLogger PluginManager 'Core' found 100 plugins
DEBUG StatusLogger PluginManager 'Level' found 0 plugins
DEBUG StatusLogger Configuration org.apache.logging.log4j.core.config.DefaultConfiguration@6b1cf2b3 initialized
DEBUG StatusLogger Starting configuration org.apache.logging.log4j.core.config.DefaultConfiguration@6b1cf2b3
DEBUG StatusLogger Started configuration org.apache.logging.log4j.core.config.DefaultConfiguration@6b1cf2b3 OK.
TRACE StatusLogger Stopping org.apache.logging.log4j.core.config.DefaultConfiguration@6f5a0c09...
TRACE StatusLogger DefaultConfiguration notified 1 ReliabilityStrategies that config will be stopped.
TRACE StatusLogger DefaultConfiguration stopping root LoggerConfig.
TRACE StatusLogger DefaultConfiguration notifying ReliabilityStrategies that appenders will be stopped.
TRACE StatusLogger DefaultConfiguration stopping remaining Appenders.
DEBUG StatusLogger Shutting down OutputStreamManager SYSTEM_OUT.false-1
TRACE StatusLogger DefaultConfiguration stopped 1 remaining Appenders.
TRACE StatusLogger DefaultConfiguration cleaning Appenders from 1 LoggerConfigs.
DEBUG StatusLogger Stopped org.apache.logging.log4j.core.config.DefaultConfiguration@6f5a0c09 OK
TRACE StatusLogger Reregistering MBeans after reconfigure. Selector=org.apache.logging.log4j.core.selector.ClassLoaderContextSelector@44387dfb
TRACE StatusLogger Reregistering context (1/1): '7d5bfc18' org.apache.logging.log4j.core.LoggerContext@31da3f72
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=7d5bfc18'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=7d5bfc18,component=StatusLogger'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=7d5bfc18,component=ContextSelector'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=7d5bfc18,component=Loggers,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=7d5bfc18,component=Appenders,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=7d5bfc18,component=AsyncAppenders,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=7d5bfc18,component=AsyncLoggerRingBuffer'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=7d5bfc18,component=Loggers,name=*,subtype=RingBuffer'
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=7d5bfc18
Demo listener context intialized
TRACE - false - false - true

这里发生了什么,我猜想 Java 的类加载器在 Web 上下文监听器之前变得活跃,然后触发 log4j2 的初始化,这是不需要的。这会导致无法恢复的损坏的 log4j2 配置,并且所有其他日志都将丢失。

最佳答案

已发布问题的答案很简单,只需将 DemoServletContextListener 行包含到类中

StatusLogger.getLogger().reset();

StatusLogger 将再次工作。但是,损坏的整体 logj4 配置无法像这样解决。然而,这里省略了初始化代码,因此最多是另一篇文章的主题-

关于java - 第二个模块中的 Web 服务处理程序阻止 log4j2 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38609901/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com