Fix includeLocation on Loggers in ConfigurationBuilder
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/e73d9d45 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/e73d9d45 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/e73d9d45 Branch: refs/heads/LOG4J2-1010&LOG4J2-1447-injectable-contextdata&better-datastructure Commit: e73d9d456e219735a915d40be70ab4cf2b1d7670 Parents: f7298ce Author: Mikael Ståldal <mik...@staldal.nu> Authored: Sun Aug 21 20:13:40 2016 +0200 Committer: Mikael Ståldal <mik...@staldal.nu> Committed: Sun Aug 21 20:13:40 2016 +0200 ---------------------------------------------------------------------- .../impl/DefaultConfigurationBuilder.java | 16 ++++++------ .../builder/ConfigurationAssemblerTest.java | 27 ++++++++++++++++---- .../builder/CustomConfigurationFactory.java | 6 ++--- 3 files changed, 33 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e73d9d45/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java index 38b4fdb..b455100 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java @@ -215,7 +215,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override public LoggerComponentBuilder newAsyncLogger(final String name, final Level level) { - return new DefaultLoggerComponentBuilder(this, name, level.toString(), "AsyncLogger", false); + return new DefaultLoggerComponentBuilder(this, name, level.toString(), "AsyncLogger"); } @Override @@ -225,7 +225,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override public LoggerComponentBuilder newAsyncLogger(final String name, final String level) { - return new DefaultLoggerComponentBuilder(this, name, level, "AsyncLogger", false); + return new DefaultLoggerComponentBuilder(this, name, level, "AsyncLogger"); } @Override @@ -235,7 +235,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override public RootLoggerComponentBuilder newAsyncRootLogger(final Level level) { - return new DefaultRootLoggerComponentBuilder(this, level.toString(), "AsyncRoot", false); + return new DefaultRootLoggerComponentBuilder(this, level.toString(), "AsyncRoot"); } @Override @@ -245,7 +245,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override public RootLoggerComponentBuilder newAsyncRootLogger(final String level) { - return new DefaultRootLoggerComponentBuilder(this, level, "AsyncRoot", false); + return new DefaultRootLoggerComponentBuilder(this, level, "AsyncRoot"); } @Override @@ -295,7 +295,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override public LoggerComponentBuilder newLogger(final String name, final Level level) { - return new DefaultLoggerComponentBuilder(this, name, level.toString(), true); + return new DefaultLoggerComponentBuilder(this, name, level.toString()); } @Override @@ -305,7 +305,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override public LoggerComponentBuilder newLogger(final String name, final String level) { - return new DefaultLoggerComponentBuilder(this, name, level, true); + return new DefaultLoggerComponentBuilder(this, name, level); } @Override @@ -315,7 +315,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override public RootLoggerComponentBuilder newRootLogger(final Level level) { - return new DefaultRootLoggerComponentBuilder(this, level.toString(), true); + return new DefaultRootLoggerComponentBuilder(this, level.toString()); } @Override @@ -325,7 +325,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override public RootLoggerComponentBuilder newRootLogger(final String level) { - return new DefaultRootLoggerComponentBuilder(this, level, true); + return new DefaultRootLoggerComponentBuilder(this, level); } @Override http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e73d9d45/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java index f9e2d2d..ed59a2b 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java @@ -24,6 +24,7 @@ import static org.junit.Assert.assertTrue; import java.util.List; import java.util.Map; +import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.Appender; @@ -39,6 +40,7 @@ import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder; import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory; import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration; import org.apache.logging.log4j.core.filter.ThresholdFilter; +import org.apache.logging.log4j.core.util.Constants; import org.junit.Test; /** @@ -48,11 +50,17 @@ public class ConfigurationAssemblerTest { @Test public void testBuildConfiguration() throws Exception { - final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder(); - CustomConfigurationFactory.addTestFixtures("config name", builder); - final Configuration configuration = builder.build(); - try (LoggerContext ctx = Configurator.initialize(configuration)) { - validate(configuration); + try { + System.setProperty(Constants.LOG4J_CONTEXT_SELECTOR, + "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector"); + final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder(); + CustomConfigurationFactory.addTestFixtures("config name", builder); + final Configuration configuration = builder.build(); + try (LoggerContext ctx = Configurator.initialize(configuration)) { + validate(configuration); + } + } finally { + System.getProperties().remove(Constants.LOG4J_CONTEXT_SELECTOR); } } @@ -61,9 +69,12 @@ public class ConfigurationAssemblerTest { try { System.setProperty(ConfigurationFactory.CONFIGURATION_FACTORY_PROPERTY, "org.apache.logging.log4j.core.config.builder.CustomConfigurationFactory"); + System.setProperty(Constants.LOG4J_CONTEXT_SELECTOR, + "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector"); final Configuration config = ((LoggerContext) LogManager.getContext(false)).getConfiguration(); validate(config); } finally { + System.getProperties().remove(Constants.LOG4J_CONTEXT_SELECTOR); System.getProperties().remove(ConfigurationFactory.CONFIGURATION_FACTORY_PROPERTY); } } @@ -80,6 +91,12 @@ public class ConfigurationAssemblerTest { final Map<String, LoggerConfig> loggers = config.getLoggers(); assertNotNull(loggers); assertTrue("Incorrect number of LoggerConfigs: " + loggers.size(), loggers.size() == 2); + LoggerConfig rootLoggerConfig = loggers.get(""); + assertEquals(Level.ERROR, rootLoggerConfig.getLevel()); + assertFalse(rootLoggerConfig.isIncludeLocation()); + LoggerConfig loggerConfig = loggers.get("org.apache.logging.log4j"); + assertEquals(Level.DEBUG, loggerConfig.getLevel()); + assertTrue(loggerConfig.isIncludeLocation()); final Filter filter = config.getFilter(); assertNotNull("No Filter", filter); assertTrue("Not a Threshold Filter", filter instanceof ThresholdFilter); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e73d9d45/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java index 519888c..d68b40f 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java @@ -48,9 +48,9 @@ public class CustomConfigurationFactory extends ConfigurationFactory { appenderBuilder.add(builder.newFilter("MarkerFilter", Filter.Result.DENY, Filter.Result.NEUTRAL).addAttribute("marker", "FLOW")); builder.add(appenderBuilder); - builder.add(builder.newLogger("org.apache.logging.log4j", Level.DEBUG). - add(builder.newAppenderRef("Stdout")). - addAttribute("additivity", false)); + builder.add(builder.newLogger("org.apache.logging.log4j", Level.DEBUG, true). + add(builder.newAppenderRef("Stdout")). + addAttribute("additivity", false)); builder.add(builder.newRootLogger(Level.ERROR).add(builder.newAppenderRef("Stdout"))); builder.add(builder.newCustomLevel("Panic", 17)); return builder.build();