private void initializeLogging(final Level logLevel) { final LoggerContext context = (LoggerContext) LogManager.getContext(false); final org.apache.logging.log4j.core.config.Configuration config = context.getConfiguration(); config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME).setLevel(logLevel); config.getLoggerConfig(Main.class.getPackage().getName()).setLevel(logLevel); context.updateLoggers(config); }
LoggerContext ctx = (LoggerContext) LogManager.getContext(false); Configuration config = ctx.getConfiguration(); LoggerConfig loggerConfig = config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME); loggerConfig.setLevel(level); ctx.updateLoggers(); // This causes all Loggers to refetch information from their LoggerConfig.
public static void updateLogLevel(final Level level, final LoggerConfig... loggerConfigs) { for (LoggerConfig loggerConfig : loggerConfigs) { loggerConfig.setLevel(level); } getRootLoggerContext().updateLoggers(); }
public void setLoggerLevel(LoggerContext logContext, String loggerName, String newLevelStr) { Level newLevel = Level.getLevel(newLevelStr); Configuration configuration = logContext.getConfiguration(); LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerName); if (loggerConfig.getName().equalsIgnoreCase(loggerName)) { LOG.info("Setting {} log level to: {}", loggerConfig, newLevel); loggerConfig.setLevel(newLevel); } else { // create a new config. Make it additive (true) s.t. inherit parents appenders LoggerConfig newLoggerConfig = new LoggerConfig(loggerName, newLevel, true); LOG.info("Adding config for: {} with level: {}", newLoggerConfig, newLevel); configuration.addLogger(loggerName, newLoggerConfig); } } }
@VisibleForTesting protected void setLoggerLevel(final String loggerName, final Level level) { final LoggerContext context = (LoggerContext) LogManager.getContext(false); final Configuration config = context.getConfiguration(); final LoggerConfig loggerConfig = config.getLoggerConfig(loggerName); if(loggerName.equals(loggerConfig.getName())) { loggerConfig.setLevel(level); } else { final LoggerConfig newLoggerConfig = new LoggerConfig(loggerName, level, loggerConfig.isAdditive()); newLoggerConfig.setLevel(level); config.addLogger(loggerName, newLoggerConfig); } context.updateLoggers(); }
loggerConfig.setLevel(logLevel);
private static void setLogLevel() { // SLF4J doesn't provide a hook into the logging implementation. We'll have to do this 'direct', bypassing slf4j. final org.apache.logging.log4j.Level newLevel; if (traceEnabled) { newLevel = org.apache.logging.log4j.Level.TRACE; } else if (debugEnabled) { newLevel = org.apache.logging.log4j.Level.DEBUG; } else { newLevel = org.apache.logging.log4j.Level.INFO; } final LoggerContext ctx = (LoggerContext) LogManager.getContext( false ); final Configuration config = ctx.getConfiguration(); final LoggerConfig loggerConfig = config.getLoggerConfig( LogManager.ROOT_LOGGER_NAME ); loggerConfig.setLevel( newLevel ); ctx.updateLoggers(); // This causes all Loggers to refetch information from their LoggerConfig. }
public static void setLevel(String level) { LoggerContext ctx = (LoggerContext) LogManager.getContext(false); Configuration config = ctx.getConfiguration(); LoggerConfig loggerConfig = config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME); loggerConfig.setLevel(Level.valueOf(level)); ctx.updateLoggers(); // This causes all Loggers to refetch information from their LoggerConfig. }
public BasicConfiguration() { super(null, ConfigurationSource.NULL_SOURCE); final LoggerConfig root = getRootLogger(); final String name = System.getProperty(DEFAULT_LEVEL); final Level level = (name != null && Level.getLevel(name) != null) ? Level.getLevel(name) : Level.ERROR; root.setLevel(level); } }
@Override public void setLevel(Level level) { this.level = level; org.apache.logging.log4j.Level l = org.apache.logging.log4j.Level.toLevel(level.getName(), org.apache.logging.log4j.Level.ERROR); logger.setLevel(l); logger.getContext().getConfiguration().getLoggerConfig(this.logger.getName()).setLevel(l); }
@Override public void setLogLevel(String loggerName, LogLevel logLevel) { Level level = LEVELS.convertSystemToNative(logLevel); LoggerConfig loggerConfig = getLoggerConfig(loggerName); if (loggerConfig == null) { loggerConfig = new LoggerConfig(loggerName, level, true); getLoggerContext().getConfiguration().addLogger(loggerName, loggerConfig); } else { loggerConfig.setLevel(level); } getLoggerContext().updateLoggers(); }
@Before public void setup() { // programmatically set root logger level to INFO. By default if log4j2-test.properties is not // available root logger will use ERROR log level LoggerContext ctx = (LoggerContext) LogManager.getContext(false); Configuration config = ctx.getConfiguration(); LoggerConfig loggerConfig = config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME); loggerConfig.setLevel(Level.INFO); ctx.updateLoggers(); }
public TestTxnHandler() throws Exception { TxnDbUtil.setConfValues(conf); LoggerContext ctx = (LoggerContext) LogManager.getContext(false); Configuration conf = ctx.getConfiguration(); conf.getLoggerConfig(CLASS_NAME).setLevel(Level.DEBUG); ctx.updateLoggers(conf); tearDown(); }
@Test public void resetLevel() { final org.apache.logging.log4j.Logger logger = context.getLogger("com.apache.test"); logger.traceEntry(); List<LogEvent> events = app.getEvents(); assertEquals("Incorrect number of events. Expected 1, actual " + events.size(), 1, events.size()); app.clear(); final LoggerContext ctx = LoggerContext.getContext(false); final Configuration config = ctx.getConfiguration(); final LoggerConfig loggerConfig = config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME); /* You could also specify the actual logger name as below and it will return the LoggerConfig used by the Logger. LoggerConfig loggerConfig = getLoggerConfig("com.apache.test"); */ loggerConfig.setLevel(Level.DEBUG); ctx.updateLoggers(); // This causes all Loggers to refetch information from their LoggerConfig. logger.traceEntry(); events = app.getEvents(); assertEquals("Incorrect number of events. Expected 0, actual " + events.size(), 0, events.size()); }
Configuration config = ctx.getConfiguration(); LoggerConfig loggerConfig = config.getLoggerConfig(logger.getName()); loggerConfig.setLevel(Level.DEBUG); ctx.updateLoggers(); logStr.contains(expectedString)); } finally { loggerConfig.setLevel(oldLevel); ctx.updateLoggers(); appender.removeFromLogger(logger.getName());
public static void setLevel(Logger logger, Level level) { if (!LogManager.ROOT_LOGGER_NAME.equals(logger.getName())) { Configurator.setLevel(logger.getName(), level); } else { final LoggerContext ctx = LoggerContext.getContext(false); final Configuration config = ctx.getConfiguration(); final LoggerConfig loggerConfig = config.getLoggerConfig(logger.getName()); loggerConfig.setLevel(level); ctx.updateLoggers(); } // we have to descend the hierarchy final LoggerContext ctx = LoggerContext.getContext(false); for (final LoggerConfig loggerConfig : ctx.getConfiguration().getLoggers().values()) { if (LogManager.ROOT_LOGGER_NAME.equals(logger.getName()) || loggerConfig.getName().startsWith(logger.getName() + ".")) { Configurator.setLevel(loggerConfig.getName(), level); } } }
@Override protected void doConfigure() { super.doConfigure(); final LoggerContext ctx = (LoggerContext) LogManager.getContext(false); final Configuration configuration = ctx.getConfiguration(); LoggerConfig rootLogger = getRootLogger(); rootLogger.setLevel(Level.INFO); for (AppenderTypeEn appenderTypeEn : AppenderTypeEn.values()) { Appender appender = AppenderUtil.createAppender(ctx, appenderTypeEn); if (appender == null) { continue; } appender.start(); addAppender(appender); addLoggerWithRef(configuration, rootLogger, appenderTypeEn, appender); } for (LoggerTypeEn logger : LoggerTypeEn.values()) { LoggerConfig loggerConfig = LoggerConfig.createLogger(true, logger.getLevel(), logger.getLoggerName(), "true", new AppenderRef[]{}, null, configuration, null); addLogger(logger.getLoggerName(), loggerConfig); } }
rootLogger.setLevel(Level.DEBUG); ConsoleAppender consoleAppender = ConsoleAppender.createDefaultAppenderForLayout(patternLayout); consoleAppender.start();