You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/04/08 14:04:40 UTC

[48/50] logging-log4j2 git commit: LOG4J2-1343 enable direct encoders only for async loggers for now

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 <rp...@apache.org>
Authored: Fri Apr 8 08:45:02 2016 +0900
Committer: rpopma <rp...@apache.org>
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.