use of org.apache.logging.log4j.junit.LoggerContextRule in project logging-log4j2 by apache.
the class CompositeConfigurationTest method compositeLogger.
/*
@Test
public void compositeConfigurationUsed() {
final LoggerContextRule lcr = new LoggerContextRule(
"classpath:log4j-comp-appender.xml,log4j-comp-appender.json");
Statement test = new Statement() {
@Override
public void evaluate() throws Throwable {
assertTrue(lcr.getConfiguration() instanceof CompositeConfiguration);
}
};
runTest(lcr, test);
}
@Test
public void compositeProperties() {
final LoggerContextRule lcr = new LoggerContextRule(
"classpath:log4j-comp-properties.xml,log4j-comp-properties.json");
Statement test = new Statement() {
@Override
public void evaluate() throws Throwable {
CompositeConfiguration config = (CompositeConfiguration) lcr.getConfiguration();
assertEquals("json", config.getStrSubstitutor().replace("${propertyShared}"));
assertEquals("xml", config.getStrSubstitutor().replace("${propertyXml}"));
assertEquals("json", config.getStrSubstitutor().replace("${propertyJson}"));
}
};
runTest(lcr, test);
}
@Test
public void compositeAppenders() {
final LoggerContextRule lcr = new LoggerContextRule(
"classpath:log4j-comp-appender.xml,log4j-comp-appender.json");
Statement test = new Statement() {
@Override
public void evaluate() throws Throwable {
CompositeConfiguration config = (CompositeConfiguration) lcr.getConfiguration();
Map<String, Appender> appender = config.getAppenders();
assertEquals(3, appender.size());
assertTrue(appender.get("STDOUT") instanceof ConsoleAppender);
assertTrue(appender.get("File") instanceof FileAppender);
assertTrue(appender.get("Override") instanceof RollingFileAppender);
}
};
runTest(lcr, test);
}
*/
@Test
public void compositeLogger() {
final LoggerContextRule lcr = new LoggerContextRule("classpath:log4j-comp-logger.xml,log4j-comp-logger.json");
final Statement test = new Statement() {
@Override
public void evaluate() throws Throwable {
final CompositeConfiguration config = (CompositeConfiguration) lcr.getConfiguration();
Map<String, Appender> appendersMap = config.getLogger("cat1").getAppenders();
assertEquals("Expected 2 Appender references for cat1 but got " + appendersMap.size(), 2, appendersMap.size());
assertTrue(appendersMap.get("STDOUT") instanceof ConsoleAppender);
appendersMap = config.getLogger("cat2").getAppenders();
assertEquals("Expected 1 Appender reference for cat2 but got " + appendersMap.size(), 1, appendersMap.size());
assertTrue(appendersMap.get("File") instanceof FileAppender);
appendersMap = config.getLogger("cat3").getAppenders();
assertEquals("Expected 1 Appender reference for cat3 but got " + appendersMap.size(), 1, appendersMap.size());
assertTrue(appendersMap.get("File") instanceof FileAppender);
appendersMap = config.getRootLogger().getAppenders();
assertEquals("Expected 2 Appender references for the root logger but got " + appendersMap.size(), 2, appendersMap.size());
assertTrue(appendersMap.get("File") instanceof FileAppender);
assertTrue(appendersMap.get("STDOUT") instanceof ConsoleAppender);
}
};
runTest(lcr, test);
}
use of org.apache.logging.log4j.junit.LoggerContextRule in project logging-log4j2 by apache.
the class CompositeConfigurationTest method testAppenderRefFilterMerge.
@Test
public void testAppenderRefFilterMerge() {
final LoggerContextRule lcr = new LoggerContextRule("classpath:log4j-comp-logger-ref.xml,log4j-comp-logger-ref.json");
final Statement test = new Statement() {
@Override
public void evaluate() throws Throwable {
final CompositeConfiguration config = (CompositeConfiguration) lcr.getConfiguration();
List<AppenderRef> appenderRefList = config.getLogger("cat1").getAppenderRefs();
AppenderRef appenderRef = getAppenderRef(appenderRefList, "STDOUT");
assertTrue("Expected cat1 STDOUT appenderRef to have a regex filter", appenderRef.getFilter() != null && appenderRef.getFilter() instanceof RegexFilter);
}
};
runTest(lcr, test);
}
use of org.apache.logging.log4j.junit.LoggerContextRule in project logging-log4j2 by apache.
the class CompositeConfigurationTest method testAttributeCheckWhenMergingConfigurations.
@Test
public void testAttributeCheckWhenMergingConfigurations() {
final LoggerContextRule lcr = new LoggerContextRule("classpath:log4j-comp-root-loggers.xml,log4j-comp-logger.json");
final Statement test = new Statement() {
@Override
public void evaluate() throws Throwable {
try {
final CompositeConfiguration config = (CompositeConfiguration) lcr.getConfiguration();
Assert.assertNotNull(config);
} catch (final NullPointerException e) {
fail("Should not throw NullPointerException when there are different nodes.");
}
}
};
runTest(lcr, test);
}
use of org.apache.logging.log4j.junit.LoggerContextRule in project logging-log4j2 by apache.
the class CompositeConfigurationTest method testAttributeMergeForLoggers.
@Test
public void testAttributeMergeForLoggers() {
final LoggerContextRule lcr = new LoggerContextRule("classpath:log4j-comp-logger-root.xml,log4j-comp-logger-attr-override.json");
final Statement test = new Statement() {
@Override
public void evaluate() throws Throwable {
final CompositeConfiguration config = (CompositeConfiguration) lcr.getConfiguration();
//Test for Root log level override
assertEquals("Expected Root logger log level to be WARN", Level.WARN, config.getRootLogger().getLevel());
//Test for cat2 level override
final LoggerConfig cat2 = config.getLogger("cat2");
assertEquals("Expected cat2 log level to be INFO", Level.INFO, cat2.getLevel());
//Test for cat2 additivity override
assertTrue("Expected cat2 additivity to be true", cat2.isAdditive());
//Regression
//Check level on cat3 (not present in root config)
assertEquals("Expected cat3 log level to be ERROR", Level.ERROR, config.getLogger("cat3").getLevel());
//Check level on cat1 (not present in overriden config)
assertEquals("Expected cat1 log level to be DEBUG", Level.DEBUG, config.getLogger("cat1").getLevel());
}
};
runTest(lcr, test);
}
Aggregations