You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/07/20 16:55:24 UTC

[21/24] incubator-ignite git commit: # ignite-788: refactor

# ignite-788: refactor


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8ed4c2f8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8ed4c2f8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8ed4c2f8

Branch: refs/heads/ignite-788-last-review
Commit: 8ed4c2f873865c23bf40ee0fa2b8d1b46d58cd09
Parents: 5dc5e39
Author: ashutak <as...@gridgain.com>
Authored: Fri Jul 17 20:31:39 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jul 17 20:31:39 2015 +0300

----------------------------------------------------------------------
 .../ignite/logger/log4j2/Log4J2Logger.java      | 86 ++++++++++++--------
 1 file changed, 51 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8ed4c2f8/modules/log4j2/src/main/java/org/apache/ignite/logger/log4j2/Log4J2Logger.java
----------------------------------------------------------------------
diff --git a/modules/log4j2/src/main/java/org/apache/ignite/logger/log4j2/Log4J2Logger.java b/modules/log4j2/src/main/java/org/apache/ignite/logger/log4j2/Log4J2Logger.java
index 48cfef0..c785c34 100644
--- a/modules/log4j2/src/main/java/org/apache/ignite/logger/log4j2/Log4J2Logger.java
+++ b/modules/log4j2/src/main/java/org/apache/ignite/logger/log4j2/Log4J2Logger.java
@@ -90,7 +90,7 @@ public class Log4J2Logger implements IgniteLogger, LoggerNodeIdAware {
     @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")
     private Logger impl;
 
-    private volatile Logger consoleLogger;
+    private volatile Logger consoleLog;
 
     /** Quiet flag. */
     private final boolean quiet;
@@ -102,17 +102,12 @@ public class Log4J2Logger implements IgniteLogger, LoggerNodeIdAware {
      * Creates new logger with given implementation.
      *
      * @param impl Log4j implementation to use.
-     * @param consoleLogger
+     * @param consoleLog Cosole logger (optional).
      */
-    public Log4J2Logger(final Logger impl, Logger consoleLogger) {
+    private Log4J2Logger(final Logger impl, @Nullable final Logger consoleLog) {
         assert impl != null;
-        this.consoleLogger = consoleLogger;
-
-        addConsoleAppenderIfNeeded(new C1<Boolean, Logger>() {
-            @Override public Logger apply(Boolean init) {
-                return impl;
-            }
-        });
+        this.impl = impl;
+        this.consoleLog = consoleLog;
 
         quiet = quiet0;
     }
@@ -255,25 +250,22 @@ public class Log4J2Logger implements IgniteLogger, LoggerNodeIdAware {
      */
     private void addConsoleAppenderIfNeeded(@Nullable IgniteClosure<Boolean, Logger> initLogClo) {
         if (inited) {
-            if (initLogClo != null)
-                // Do not init.
-                impl = initLogClo.apply(false);
+            // Do not init.
+            impl = initLogClo.apply(false);
 
             return;
         }
 
         synchronized (mux) {
             if (inited) {
-                if (initLogClo != null)
-                    // Do not init.
-                    impl = initLogClo.apply(false);
+                // Do not init.
+                impl = initLogClo.apply(false);
 
                 return;
             }
 
-            if (initLogClo != null)
-                // Init logger impl.
-                impl = initLogClo.apply(true);
+            // Init logger impl.
+            impl = initLogClo.apply(true);
 
             boolean quiet = Boolean.valueOf(System.getProperty(IGNITE_QUIET, "true"));
 
@@ -319,14 +311,14 @@ public class Log4J2Logger implements IgniteLogger, LoggerNodeIdAware {
                 // User launched ignite in verbose mode and did not add console appender with INFO level
                 // to configuration and did not set IGNITE_CONSOLE_APPENDER to false.
                 if (errAppender != null) {
-                    consoleLogger = createConsoleLogger(rootLogger, Level.ALL);
+                    consoleLog = createConsoleLogger(rootLogger, Level.TRACE);
 
 //                    if (errAppender.getThreshold() == Level.ERROR)
 //                        errAppender.setThreshold(Level.WARN);
                 }
                 else
                     // No error console appender => create console appender with no level limit.
-                    consoleLogger = createConsoleLogger(rootLogger, Level.INFO);
+                    consoleLog = createConsoleLogger(rootLogger, Level.INFO);
             }
 
             quiet0 = quiet;
@@ -345,14 +337,14 @@ public class Log4J2Logger implements IgniteLogger, LoggerNodeIdAware {
 
         Configuration cfg = ctx.getConfiguration();
 
-        PatternLayout layout = PatternLayout.createLayout("[%d{ABSOLUTE}][%-5p][%t][%c{1}] %m%n", null, null, 
+        PatternLayout layout = PatternLayout.createLayout("[%d{ABSOLUTE}][%-5p][%t][%c{1}] %m%n", null, null,
             Charset.defaultCharset(), false, false, null, null);
 
-        Appender appender = ConsoleAppender.createAppender(layout, null, null, "CONSOLE_APPENDER", null, null);
+        Appender appender = ConsoleAppender.createAppender(layout, null, null, CONSOLE_APPENDER, null, null);
 
         appender.start();
 
-        AppenderRef ref = AppenderRef.createAppenderRef("CONSOLE_APPENDER", null, null);
+        AppenderRef ref = AppenderRef.createAppenderRef(CONSOLE_APPENDER, null, null);
 
         LoggerConfig logCfg = LoggerConfig.createLogger("false", Level.INFO, LogManager.ROOT_LOGGER_NAME, "",
             new AppenderRef[] {ref}, null, null, null);
@@ -377,7 +369,7 @@ public class Log4J2Logger implements IgniteLogger, LoggerNodeIdAware {
         // Set nodeId as system variable to be used at configuration.
         System.setProperty(NODE_ID, U.id8(nodeId));
 
-        ((LoggerContext) LogManager.getContext(false)).reconfigure();
+        ((LoggerContext)LogManager.getContext(false)).reconfigure();
 
         // Hack. To touch the logger to create all log resources (files). Then #fileName() will work properly.
         impl.log(Level.OFF, "");
@@ -413,54 +405,78 @@ public class Log4J2Logger implements IgniteLogger, LoggerNodeIdAware {
     /** {@inheritDoc} */
     @Override public void trace(String msg) {
         if (!impl.isTraceEnabled())
-            warning("Logging at TRACE level without checking if TRACE level is enabled: " + msg);
+            impl.warn("Logging at TRACE level without checking if TRACE level is enabled: " + msg);
 
         impl.trace(msg);
 
-        if (consoleLogger != null) consoleLogger.trace(msg);
+        if (consoleLog != null) {
+            if (!consoleLog.isTraceEnabled())
+                consoleLog.warn("Logging at TRACE level without checking if TRACE level is enabled: " + msg);
+
+            consoleLog.trace(msg);
+        }
     }
 
     /** {@inheritDoc} */
     @Override public void debug(String msg) {
         if (!impl.isDebugEnabled())
-            warning("Logging at DEBUG level without checking if DEBUG level is enabled: " + msg);
+            impl.warn("Logging at DEBUG level without checking if DEBUG level is enabled: " + msg);
 
         impl.debug(msg);
-        if (consoleLogger != null) consoleLogger.debug(msg);
+
+        if (consoleLog != null) {
+            if (!consoleLog.isDebugEnabled())
+                consoleLog.warn("Logging at DEBUG level without checking if DEBUG level is enabled: " + msg);
+
+            consoleLog.debug(msg);
+        }
     }
 
     /** {@inheritDoc} */
     @Override public void info(String msg) {
         if (!impl.isInfoEnabled())
-            warning("Logging at INFO level without checking if INFO level is enabled: " + msg);
+            impl.warn("Logging at INFO level without checking if INFO level is enabled: " + msg);
 
         impl.info(msg);
 
-        if (consoleLogger != null) consoleLogger.info(msg);
+        if (consoleLog != null) {
+            if (!consoleLog.isInfoEnabled())
+                consoleLog.warn("Logging at INFO level without checking if INFO level is enabled: " + msg);
+
+            consoleLog.info(msg);
+        }
     }
 
     /** {@inheritDoc} */
     @Override public void warning(String msg) {
         impl.warn(msg);
-        if (consoleLogger != null) consoleLogger.warn(msg);
+
+        if (consoleLog != null)
+            consoleLog.warn(msg);
     }
 
     /** {@inheritDoc} */
     @Override public void warning(String msg, @Nullable Throwable e) {
         impl.warn(msg, e);
-        if (consoleLogger != null) consoleLogger.warn(msg, e);
+
+        if (consoleLog != null)
+            consoleLog.warn(msg, e);
     }
 
     /** {@inheritDoc} */
     @Override public void error(String msg) {
         impl.error(msg);
-        if (consoleLogger != null) consoleLogger.error(msg);
+
+        if (consoleLog != null)
+            consoleLog.error(msg);
     }
 
     /** {@inheritDoc} */
     @Override public void error(String msg, @Nullable Throwable e) {
         impl.error(msg, e);
-        if (consoleLogger != null) consoleLogger.error(msg, e);
+
+        if (consoleLog != null)
+            consoleLog.error(msg, e);
     }
 
     /** {@inheritDoc} */