That was it! Thanks.
Next question: When I do this: LoggerContext loggerContext = (LoggerContext)LogManager.getContext(false); Configuration loggerConfiguration = loggerContext.getConfiguration(); Map<String, Appender> appendersType = loggerConfiguration.getAppenders(); for ( Map.Entry<String, Appender> appender : appendersType.entrySet() ) { if ( appender.getKey().equalsIgnoreCase(selected.getAppenderName()) ) { RollingFileAppender a = (RollingFileAppender)appender.getValue(); a.stop(); loggerConfiguration.initialize(); I get: 2018-02-20 13:29:23,913 ajp-nio-8009-exec-3 ERROR No logging configuration and my entire log4j run-time config appears to be erased! If I do a loggerContext.initialize(); there is no error, but upon refresh, the logger is still active. I just want to change the state (start/stop) of the appender. How do I post the change back to the context? On Feb 20, 2018, at 08:26 AM, Franz Wong <franzw...@gmail.com> wrote: Do you mean something like this? public class MainApplication { public static void main(String[] args) throws Exception { Logger logger = LogManager.getLogger(MainApplication.class); // logging level is error logger.error("msg1"); logger.info("msg2"); org.apache.logging.log4j.core.LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager .getContext(false); Configuration config = context.getConfiguration(); config.getRootLogger().setLevel(Level.INFO); context.updateLoggers(config); // now logging level is info logger.error("msg3"); logger.info("msg4"); } } On Tue, Feb 20, 2018 at 12:04 AM, Arnie Morein <arnie.mor...@mac.com> wrote: Hello, looking for some advice, assuming this is possible. I am working with a rather complex application and the log4j2 configuration is also complex (12+ loggers). It is started at war deployment by a WEB-INF/classes/log4j2.xml file and then after the context is started, based on the host name (ie, environment: prod, test, dev), the logging levels are changed to desired defaults. All of this works great. But now I need to build a control panel page that lists each appender/logger so certain settings can be changed or the file rotated at run time when situations arise. I know I can get a copy of the configuration from the file, but remember above, those defaults have already been changed based on the host name. I need to access the CURRENT in-memory configuration, but after digging through the API, I cannot find the right call for this, assuming it exists. Is there one? My point being is that if I use the altered config default based on host name, change a logger level from A to B, do some work, and want to return to the control panel to return B to A or make some other change, I won't see the fact that A is already at B. Thanks! --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org