LOG4J2-1343 enable direct encoders only for async loggers for now
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4d1d60de Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4d1d60de Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4d1d60de Branch: refs/heads/LOG4J2-1356 Commit: 4d1d60de40b37e4e378bffe983028db3db23759d Parents: 34bc95d Author: rpopma <[email protected]> Authored: Fri Apr 8 08:45:02 2016 +0900 Committer: rpopma <[email protected]> Committed: Fri Apr 8 08:45:02 2016 +0900 ---------------------------------------------------------------------- .../java/org/apache/logging/log4j/core/util/Constants.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4d1d60de/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java index dd1cd27..eedcf71 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java @@ -19,6 +19,7 @@ package org.apache.logging.log4j.core.util; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; +import org.apache.logging.log4j.core.async.AsyncLoggerContextSelector; import org.apache.logging.log4j.util.PropertiesUtil; /** @@ -95,12 +96,15 @@ public final class Constants { * {@link org.apache.logging.log4j.core.layout.ByteBufferDestination}s without creating intermediate temporary * Objects. * <p> - * {@code True} by default, disable by setting system property "log4j2.enable.direct.encoders" to "false". + * {@code True} by default iff all loggers are asynchronous because system property + * {@code Log4jContextSelector} is set to {@code org.apache.logging.log4j.core.async.AsyncLoggerContextSelector}. + * Disable by setting system property "log4j2.enable.direct.encoders" to "false". * * @since 2.6 */ public static final boolean ENABLE_DIRECT_ENCODERS = PropertiesUtil.getProperties().getBooleanProperty( - "log4j2.enable.direct.encoders", true); + "log4j2.enable.direct.encoders", + AsyncLoggerContextSelector.class.getName().equals(PropertiesUtil.getProperties().getStringProperty(LOG4J_CONTEXT_SELECTOR))); /** * Prevent class instantiation.
