assertThat(config, is(instanceOf(AbstractConfiguration.class))); final AbstractConfiguration baseConfig = (AbstractConfiguration) config; final LoggerConfig root = baseConfig.getRootLogger(); final Map<String, Appender> rootAppenders = root.getAppenders(); assertThat("The root logger should only have one appender", rootAppenders, hasSize(1));
@Override public void run() { LoggerConfig rootLogger = ((AbstractConfiguration) context.getConfiguration()).getRootLogger(); Collection<Appender> appenders = new ArrayList<>(); appenders.add(ConsoleAppender.createAppender(mock(Layout.class), null, null, "Console", null, null)); when(rootLogger.getAppenders().values()).thenReturn(appenders); contextConfigurer.configure(context); verify(context.getConfiguration(), never()).addAppender(any(ConsoleAppender.class)); verify(rootLogger, never()).addAppender(any(ConsoleAppender.class), same(Level.INFO), any(Filter.class)); } });
@Override public void run() { contextConfigurer.update(context); ArgumentCaptor<ConsoleAppender> appenderCaptor = ArgumentCaptor.forClass(ConsoleAppender.class); verify(context.getConfiguration()).addAppender(appenderCaptor.capture()); Appender forcedConsoleAppender = appenderCaptor.getValue(); assertThat(forcedConsoleAppender, notNullValue()); assertThat(forcedConsoleAppender.getName(), equalTo(FORCED_CONSOLE_APPENDER_NAME)); assertThat(forcedConsoleAppender.isStarted(), is(true)); LoggerConfig rootLogger = ((AbstractConfiguration) context.getConfiguration()).getRootLogger(); verify(rootLogger).addAppender(forcedConsoleAppender, Level.ALL, null); } });
private LoggerConfig getRootLogger(LoggerContext context) { return ((AbstractConfiguration) context.getConfiguration()).getRootLogger(); }
private static void doAddAppender(Configuration logConfiguration, Appender appender) { appender.start(); logConfiguration.addAppender(appender); LoggerConfig lc = ((AbstractConfiguration) logConfiguration).getRootLogger(); lc.addAppender(appender, Level.INFO, null); } }
logGrabber.setLogEventList(logs); logConf.getRootLogger().addAppender(logGrabber, logConf.getRootLogger().getLevel(), null);
protected void setToDefault() { // LOG4J2-1176 facilitate memory leak investigation setName(DefaultConfiguration.DEFAULT_NAME + "@" + Integer.toHexString(hashCode())); final Layout<? extends Serializable> layout = PatternLayout.newBuilder() .withPattern(DefaultConfiguration.DEFAULT_PATTERN) .withConfiguration(this) .build(); final Appender appender = ConsoleAppender.createDefaultAppenderForLayout(layout); appender.start(); addAppender(appender); final LoggerConfig rootLoggerConfig = getRootLogger(); rootLoggerConfig.addAppender(appender, null, null); final Level defaultLevel = Level.ERROR; final String levelName = PropertiesUtil.getProperties().getStringProperty(DefaultConfiguration.DEFAULT_LEVEL, defaultLevel.name()); final Level level = Level.valueOf(levelName); rootLoggerConfig.setLevel(level != null ? level : defaultLevel); }