public void addToLogger(String loggerName, Level level) { LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerName); loggerConfig.addAppender(this, level, null); context.updateLoggers(); }
@Override public String getConfigurationInfo() { return getConfiguration().getConfigurationSource().toString(); }
private static LoggerConfig createForProperties(final Property[] properties) { return LoggerConfig.createLogger(true, Level.INFO, "name", "false", new AppenderRef[0], properties, new NullConfiguration(), null); }
@Test public void testBadStatus() throws Exception { ctx = Configurator.initialize("Test1", "bad/log4j-status.xml"); LogManager.getLogger("org.apache.test.TestConfigurator"); final Configuration config = ctx.getConfiguration(); assertNotNull("No configuration", config); assertEquals("Unexpected Configuration", "XMLConfigTest", config.getName()); final LoggerConfig root = config.getLoggerConfig(""); assertNotNull("No Root Logger", root); assertTrue("Expected error level, was " + root.getLevel(), Level.ERROR == root.getLevel()); }
static void updateLoggers(final Appender appender, final Configuration config) { final Level level = null; final Filter filter = null; for (final LoggerConfig loggerConfig : config.getLoggers().values()) { loggerConfig.addAppender(appender, level, filter); } config.getRootLogger().addAppender(appender, level, filter); }
@Test public void testInheritParentLevel() throws IOException { Configuration configuration = loadConfiguration(prefix + "inherit-level.xml"); try { assertEquals(Level.TRACE, configuration.getLoggerConfig("com.foo").getLevel()); } finally { configuration.stop(); } }
@VisibleForTesting protected Level getLoggerLevel(final String loggerName) { final LoggerContext loggerContext = (LoggerContext) LogManager.getContext(false); final Configuration configuration = loggerContext.getConfiguration(); final LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerName); return loggerConfig.getLevel(); }
@Test public void testBadFilterParam() throws Exception { ctx = Configurator.initialize("Test1", "bad/log4j-badfilterparam.xml"); LogManager.getLogger("org.apache.test.TestConfigurator"); final Configuration config = ctx.getConfiguration(); assertNotNull("No configuration", config); assertEquals("Unexpected Configuration", "XMLConfigTest", config.getName()); final LoggerConfig lcfg = config.getLoggerConfig("org.apache.logging.log4j.test1"); assertNotNull("No Logger", lcfg); final Filter filter = lcfg.getFilter(); assertNull("Unexpected Filter", filter); }
@Test public void testAddDoesNotAppendersWithSameName() throws Exception { final AppenderControlArraySet set = new AppenderControlArraySet(); final AppenderControl[] controls = new AppenderControl[] {createControl("A"), createControl("B"), createControl("B"), createControl("B"), createControl("A")}; for (final AppenderControl ctl : controls) { set.add(ctl); } assertEquals(2, set.get().length); assertSame(controls[0], set.get()[0]); assertSame(controls[1], set.get()[1]); }
@Test public void testClearRemovesAllItems() throws Exception { final AppenderControlArraySet set = new AppenderControlArraySet(); set.add(createControl("A")); set.add(createControl("B")); set.add(createControl("C")); assertFalse(set.isEmpty()); set.clear(); assertTrue(set.isEmpty()); }
@After public void after() { // Just in case, an @Test blew up Configurator.shutdown(this.loggerContext); }
@Test public void testAddReturnsTrueIfSuccessfullyAdded() throws Exception { final AppenderControlArraySet set = new AppenderControlArraySet(); assertTrue(set.add(createControl("A"))); assertTrue(set.add(createControl("B"))); assertTrue(set.add(createControl("C"))); }
@Test public void testAdvertisementsFound() { verifyExpectedEntriesAdvertised(InMemoryAdvertiser.getAdvertisedEntries()); }
public static void cleanupClass() { ConfigurationFactory.removeConfigurationFactory(cf); }
private void addInstrumentedAppender(final MetricRegistry metrics, final Level level) { final InstrumentedAppender appender = new InstrumentedAppender(metrics, null, null, false); appender.start(); final LoggerContext context = (LoggerContext) LogManager.getContext(false); final org.apache.logging.log4j.core.config.Configuration config = context.getConfiguration(); config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME).addAppender(appender, level, null); context.updateLoggers(config); }
@Test public void testInheritParentDefaultLevel() throws IOException { Configuration configuration = loadConfiguration(prefix + "default-level.xml"); try { assertEquals(Level.ERROR, configuration.getLoggerConfig("com.foo").getLevel()); } finally { configuration.stop(); } }
@Test public void testClearReturnsAllItems() throws Exception { final AppenderControlArraySet set = new AppenderControlArraySet(); final AppenderControl[] controls = new AppenderControl[] {createControl("A"), createControl("B"), createControl("C")}; for (final AppenderControl ctl : controls) { set.add(ctl); } assertEquals(3, set.get().length); final AppenderControl[] previous = set.clear(); assertArrayEquals(previous, controls); }
@Test public void testAddMakesNonEmpty() throws Exception { final AppenderControlArraySet set = new AppenderControlArraySet(); assertTrue(set.isEmpty()); set.add(createControl("A")); assertFalse(set.isEmpty()); }
@Test public void testGetReturnsAddedItems() throws Exception { final AppenderControlArraySet set = new AppenderControlArraySet(); final AppenderControl[] controls = new AppenderControl[] {createControl("A"), createControl("B"), createControl("C")}; for (final AppenderControl ctl : controls) { set.add(ctl); } assertEquals(3, set.get().length); assertArrayEquals(controls, set.get()); } }
@Test public void testAddReturnsFalseIfAlreadyInSet() throws Exception { final AppenderControlArraySet set = new AppenderControlArraySet(); assertTrue(set.add(createControl("A"))); assertTrue(set.add(createControl("B"))); assertFalse(set.add(createControl("B"))); assertFalse(set.add(createControl("B"))); assertFalse(set.add(createControl("A"))); assertEquals(2, set.get().length); }