Dear all, I am at a dead end, I hope someone on this mailing list can help me...
I have a web application deployed as an EAR in a JBoss application server, containing of a .war and many utility jars (managed by gradle) For various complex reasons, I cannot use "automagic" configuration. Mostly, I set a few System properties in the code before initialization. Initialization is done in a servlet which is guaranteed to start first by WEB-INF/web.xml Initialization sets system properties then runs Configurator.initialize(classLoader, new ConfigurationSource(new FileInputStream(filename))); or alternatively REconfigure following the FAQ at https://logging.apache.org/log4j/log4j-2.4/faq.html However, no matter what I do, I end up with TWO LoggerContext instances (I see that during initialization trace and later in log4jContextFactory.getSelector().getLoggerContexts()) and the "wrong" LoggerContext has a RootLogger with level ERROR and NO appenders and all of the loggers that are actually used and touched in the application are under the "wrong" LoggerContext and have log level ERROR and do not log. Only some loggers which are directly used in the web application .war are configured correctly. for all the "wrong" loggers I get a message like loggerContext name=24421690 - logger name=org.apache.velocity.loader.webapp level=ERROR appenders= WARN StatusLogger The Logger was created with the message factory org.apache.logging.log4j.message.ParameterizedMessageFactory@63e37b6c and is now requested with the message factory org.apache.logging.log4j.message.ParameterizedMessageFactory@19334714, which may create log events with unexpected formatting. I did not ask for a second LoggerContext and I do not understand why it is created. In fact is is created inside the loggerContext.setConfigLocation(file.toURI()) of the "only" LoggerContext I know Please help me initialize my log4j properly from a ConfigurationSource Here is some trace log, where the "wrong" LoggerContext is created without a configuration - and all subsequent loggers are put under THAT loggerContext DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=56df3650,component=Appenders,name=msgInFile DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=56df3650,component=Appenders,name=msgOutFile TRACE StatusLogger Using DummyNanoClock for nanosecond timestamps. DEBUG StatusLogger Reconfiguration complete for context[name=56df3650] at URI C:\Java\myprj\conf\gernot_log4j2\log4j2.xml (org.apache.logging.log4j.core.LoggerContext@f034b2) with optional ClassLoader: null DEBUG StatusLogger PluginManager 'Lookup' found 16 plugins DEBUG StatusLogger PluginManager 'Converter' found 47 plugins DEBUG StatusLogger Starting OutputStreamManager SYSTEM_OUT.false.false-3 DEBUG StatusLogger Starting LoggerContext[name=7ff11457, org.apache.logging.log4j.core.LoggerContext@1c50492]... DEBUG StatusLogger Reconfiguration started for context[name=7ff11457] at URI null (org.apache.logging.log4j.core.LoggerContext@1c50492) with optional ClassLoader: null DEBUG StatusLogger Using configurationFactory org.apache.logging.log4j.core.config.ConfigurationFactory$Factory@2c01ff02 TRACE StatusLogger Trying to find [log4j2-test7ff11457.properties] using context class loader ModuleClassLoader for Module "deployment.aceadmin.ear.CampaignManagement-WebApp.war:main" from Service Module Loader. ... TRACE StatusLogger Trying to find [log4j2.xml] using ModuleClassLoader for Module "deployment.aceadmin.ear.CampaignManagement-WebApp.war:main" from Service Module Loader class loader. TRACE StatusLogger Trying to find [log4j2.xml] using ClassLoader.getSystemResource(). WARN StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2 --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org