You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by pr...@apache.org on 2017/11/30 04:57:14 UTC

[apex-core] branch master updated: APEXCORE-785 Cleanup unit tests log4j.properties

This is an automated email from the ASF dual-hosted git repository.

pramod pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apex-core.git


The following commit(s) were added to refs/heads/master by this push:
     new cc37240  APEXCORE-785 Cleanup unit tests log4j.properties
cc37240 is described below

commit cc3724048e864b33574a2afa20bcb1aa86985002
Author: Vlad Rozov <vr...@apache.org>
AuthorDate: Wed Oct 18 17:24:38 2017 -0700

    APEXCORE-785 Cleanup unit tests log4j.properties
---
 api/src/test/resources/log4j.properties            | 33 ++++----
 bufferserver/src/test/resources/log4j.properties   | 34 ++++----
 common/src/test/resources/log4j.properties         | 33 ++++----
 .../com/datatorrent/stram/util/LoggerUtilTest.java | 91 +++++++++++++++-------
 engine/src/test/resources/log4j.properties         | 34 ++++----
 5 files changed, 125 insertions(+), 100 deletions(-)

diff --git a/api/src/test/resources/log4j.properties b/api/src/test/resources/log4j.properties
index 329524a..c7cc0bf 100644
--- a/api/src/test/resources/log4j.properties
+++ b/api/src/test/resources/log4j.properties
@@ -17,25 +17,22 @@
 # under the License.
 #
 
-log4j.rootLogger=INFO,CONSOLE
+# Set root logger level to WARN to not flood build logs
+# set manually to DEBUG or INFO for debugging purposes
+log4j.rootLogger=warn, root
 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
+# Redirect root appender to standard error
+log4j.appender.root=org.apache.log4j.ConsoleAppender
+log4j.appender.root.target=System.err
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
 
-log4j.appender.malhar=org.apache.log4j.RollingFileAppender
-log4j.appender.malhar.layout=org.apache.log4j.PatternLayout
-log4j.appender.malhar.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
-#log4j.appender.malhar.File=/tmp/app.log
+log4j.appender.apex=org.apache.log4j.ConsoleAppender
+log4j.appender.apex.layout=org.apache.log4j.PatternLayout
+log4j.appender.apex.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
 
-# to enable, add SYSLOG to rootLogger
-log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
-log4j.appender.SYSLOG.syslogHost=127.0.0.1
-log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
-log4j.appender.SYSLOG.layout.conversionPattern=${dt.cid} %-5p [%t] %c{2} %x - %m%n
-log4j.appender.SYSLOG.Facility=LOCAL1
+log4j.logger.com.datatorrent=info, apex
+log4j.additivity.com.datatorrent=false
+log4j.logger.org.apache.apex=info, apex
+log4j.additivity.org.apache.apex=false
 
-#log4j.logger.org=info
-#log4j.logger.org.apache.commons.beanutils=warn
-log4j.logger.com.datatorrent=info
-log4j.logger.org.apache.apex=info
diff --git a/bufferserver/src/test/resources/log4j.properties b/bufferserver/src/test/resources/log4j.properties
index 329524a..5ed504b 100644
--- a/bufferserver/src/test/resources/log4j.properties
+++ b/bufferserver/src/test/resources/log4j.properties
@@ -17,25 +17,21 @@
 # under the License.
 #
 
-log4j.rootLogger=INFO,CONSOLE
+# Set root logger level to WARN to not flood build logs
+# set manually to DEBUG or INFO for debugging purposes
+log4j.rootLogger=warn, root
 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
+# Redirect root appender to standard error
+log4j.appender.root=org.apache.log4j.ConsoleAppender
+log4j.appender.root.target=System.err
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
 
-log4j.appender.malhar=org.apache.log4j.RollingFileAppender
-log4j.appender.malhar.layout=org.apache.log4j.PatternLayout
-log4j.appender.malhar.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
-#log4j.appender.malhar.File=/tmp/app.log
+log4j.appender.apex=org.apache.log4j.ConsoleAppender
+log4j.appender.apex.layout=org.apache.log4j.PatternLayout
+log4j.appender.apex.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
 
-# to enable, add SYSLOG to rootLogger
-log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
-log4j.appender.SYSLOG.syslogHost=127.0.0.1
-log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
-log4j.appender.SYSLOG.layout.conversionPattern=${dt.cid} %-5p [%t] %c{2} %x - %m%n
-log4j.appender.SYSLOG.Facility=LOCAL1
-
-#log4j.logger.org=info
-#log4j.logger.org.apache.commons.beanutils=warn
-log4j.logger.com.datatorrent=info
-log4j.logger.org.apache.apex=info
+log4j.logger.com.datatorrent=info, apex
+log4j.additivity.com.datatorrent=false
+log4j.logger.org.apache.apex=info, apex
+log4j.additivity.org.apache.apex=false
diff --git a/common/src/test/resources/log4j.properties b/common/src/test/resources/log4j.properties
index 3205da5..5ed504b 100644
--- a/common/src/test/resources/log4j.properties
+++ b/common/src/test/resources/log4j.properties
@@ -17,24 +17,21 @@
 # under the License.
 #
 
-log4j.rootLogger=INFO,CONSOLE
+# Set root logger level to WARN to not flood build logs
+# set manually to DEBUG or INFO for debugging purposes
+log4j.rootLogger=warn, root
 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
+# Redirect root appender to standard error
+log4j.appender.root=org.apache.log4j.ConsoleAppender
+log4j.appender.root.target=System.err
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
 
-log4j.appender.malhar=org.apache.log4j.RollingFileAppender
-log4j.appender.malhar.layout=org.apache.log4j.PatternLayout
-log4j.appender.malhar.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
-#log4j.appender.malhar.File=/tmp/app.log
+log4j.appender.apex=org.apache.log4j.ConsoleAppender
+log4j.appender.apex.layout=org.apache.log4j.PatternLayout
+log4j.appender.apex.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
 
-# to enable, add SYSLOG to rootLogger
-log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
-log4j.appender.SYSLOG.syslogHost=127.0.0.1
-log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
-log4j.appender.SYSLOG.layout.conversionPattern=${dt.cid} %-5p [%t] %c{2} %x - %m%n
-log4j.appender.SYSLOG.Facility=LOCAL1
-
-log4j.logger.com.datatorrent=info
-log4j.logger.org.apache.apex=info
-log4j.logger.org.getopt.util.hash=info
+log4j.logger.com.datatorrent=info, apex
+log4j.additivity.com.datatorrent=false
+log4j.logger.org.apache.apex=info, apex
+log4j.additivity.org.apache.apex=false
diff --git a/engine/src/test/java/com/datatorrent/stram/util/LoggerUtilTest.java b/engine/src/test/java/com/datatorrent/stram/util/LoggerUtilTest.java
index 7701441..8f5879f 100644
--- a/engine/src/test/java/com/datatorrent/stram/util/LoggerUtilTest.java
+++ b/engine/src/test/java/com/datatorrent/stram/util/LoggerUtilTest.java
@@ -18,8 +18,11 @@
  */
 package com.datatorrent.stram.util;
 
+import java.util.Enumeration;
+import java.util.HashMap;
 import java.util.Map;
 
+import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.FixMethodOrder;
 import org.junit.Test;
@@ -27,11 +30,13 @@ import org.junit.runners.MethodSorters;
 import org.slf4j.LoggerFactory;
 
 import org.apache.log4j.Appender;
+import org.apache.log4j.AppenderSkeleton;
 import org.apache.log4j.Category;
 import org.apache.log4j.ConsoleAppender;
 import org.apache.log4j.Level;
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
 import org.apache.log4j.spi.LoggingEvent;
 
 import com.google.common.collect.Maps;
@@ -51,6 +56,8 @@ import static org.junit.Assert.assertTrue;
 public class LoggerUtilTest
 {
   private static final org.slf4j.Logger logger = LoggerFactory.getLogger(LoggerUtilTest.class);
+  private static final Logger log4jLogger = LogManager.getLogger(LoggerUtilTest.class);
+  private static final Map<AppenderSkeleton, Priority> appenderLevelMap = new HashMap<>();
 
   @BeforeClass
   public static void setup() throws Exception
@@ -58,8 +65,37 @@ public class LoggerUtilTest
     logger.debug("Logger repository before LoggerUtil.changeLoggersLevel() {}", LogManager.getLoggerRepository());
     LoggerUtil.changeLoggersLevel(Maps.<String, String>newHashMap());
     logger.debug("Logger repository after LoggerUtil.changeLoggersLevel() {}", LogManager.getLoggerRepository());
+    log4jLogger.setLevel(Level.TRACE);
+    Category category = log4jLogger;
+    while (category != null) {
+      Enumeration appenders = category.getAllAppenders();
+      while (appenders.hasMoreElements()) {
+        Object o = appenders.nextElement();
+        if (o instanceof AppenderSkeleton) {
+          AppenderSkeleton appender = (AppenderSkeleton)o;
+          if (!appenderLevelMap.containsKey(appender)) {
+            appenderLevelMap.put(appender, appender.getThreshold());
+            appender.setThreshold(Level.INFO);
+          }
+        }
+      }
+      if (category.getAdditivity()) {
+        category = category.getParent();
+      } else {
+        category = null;
+      }
+    }
   }
 
+  @AfterClass
+  public static void teardown()
+  {
+    for (Map.Entry<AppenderSkeleton, Priority> e : appenderLevelMap.entrySet()) {
+      e.getKey().setThreshold(e.getValue());
+    }
+  }
+
+
   @Test
   public void testGetPatternLevels()
   {
@@ -178,7 +214,6 @@ public class LoggerUtilTest
   @Test
   public void testAppender()
   {
-    logger.info("Running Appender Test");
     String appenderName = "testAppender";
     String appenderName1 = "testAppender1";
     String args = "log4j.appender.testAppender=com.datatorrent.stram.util.LoggerUtilTest$TestAppender"
@@ -188,39 +223,45 @@ public class LoggerUtilTest
         + ",log4j.appender.testAppender1.layout=org.apache.log4j.PatternLayout"
         + ",log4j.appender.testAppender1.layout.ConversionPattern=%d %d{Z} [%t] %-5p (%F:%L) - %m%n";
 
-    assertTrue(LoggerUtil.addAppenders(new String[] {appenderName }, args, ","));
-    TestAppender appender = (TestAppender)LogManager.getRootLogger().getAppender(appenderName);
+    assertTrue(LoggerUtil.addAppenders(log4jLogger, new String[] {appenderName}, args, ","));
+    TestAppender appender = (TestAppender)log4jLogger.getAppender(appenderName);
 
-    logger.info(args);
+    LoggerUtilTest.logger.debug(args);
     assertEquals(args, appender.lastMessage);
-    assertEquals(appender.level, Level.INFO);
+    assertEquals(appender.level, Level.DEBUG);
 
-    logger.warn(appenderName1);
+    LoggerUtilTest.logger.trace(appenderName1);
     assertEquals(appenderName1, appender.lastMessage);
-    assertEquals(appender.level, Level.WARN);
+    assertEquals(appender.level, Level.TRACE);
 
     // don't allow to add an appender with the same name
-    assertFalse(LoggerUtil.addAppenders(new String[] {appenderName }, args, ","));
-    logger.info("Test Appender is added: " + LoggerUtil.getAppendersNames());
-    testAndRemoveAppender(appenderName);
-    logger.info("Test Appender is removed: " + LoggerUtil.getAppendersNames());
+    assertFalse(LoggerUtil.addAppenders(log4jLogger, new String[] {appenderName}, args, ","));
+    LoggerUtilTest.logger.debug("Test Appender is added: {}", LoggerUtil.getAppendersNames(log4jLogger));
+    testAndRemoveAppender(log4jLogger, appenderName);
+    LoggerUtilTest.logger.debug("Test Appender is removed: {}", LoggerUtil.getAppendersNames(log4jLogger));
+
+    Logger rootLogger = LogManager.getRootLogger();
+    assertTrue(LoggerUtil.addAppenders(rootLogger, new String[] {appenderName}, args, ","));
+    LoggerUtilTest.logger.debug("Test Appender is added: {}", LoggerUtil.getAppendersNames());
+    testAndRemoveAppender(rootLogger, appenderName);
+    LoggerUtilTest.logger.debug("Test Appender is removed: {}", LoggerUtil.getAppendersNames());
 
     System.setProperty(Context.DAGContext.LOGGER_APPENDER.getLongName(), appenderName + "," + appenderName1 + ";" + args);
     assertTrue(LoggerUtil.addAppenders());
-    logger.info("Test Appenders are added: " + LoggerUtil.getAppendersNames());
+    LoggerUtilTest.logger.debug("Test Appenders are added: {}", LoggerUtil.getAppendersNames());
 
-    testAndRemoveAppender(appenderName);
-    testAndRemoveAppender(appenderName1);
-    logger.info("Test Appenders are removed: " + LoggerUtil.getAppendersNames());
+    testAndRemoveAppender(rootLogger, appenderName);
+    testAndRemoveAppender(rootLogger, appenderName1);
+    LoggerUtilTest.logger.debug("Test Appenders are removed: {}", LoggerUtil.getAppendersNames());
   }
 
-  private static void testAndRemoveAppender(String name)
+  private static void testAndRemoveAppender(Logger logger, String name)
   {
-    Appender appender = org.apache.log4j.Logger.getRootLogger().getAppender(name);
+    Appender appender = logger.getAppender(name);
     assertNotNull(appender);
-    assertTrue(LoggerUtil.getAppendersNames().contains(name));
-    LoggerUtil.removeAppender(name);
-    assertNull(org.apache.log4j.Logger.getRootLogger().getAppender(name));
+    assertTrue(LoggerUtil.getAppendersNames(logger).contains(name));
+    LoggerUtil.removeAppender(logger, name);
+    assertNull(logger.getAppender(name));
   }
 
   @Test
@@ -238,17 +279,16 @@ public class LoggerUtilTest
     System.setProperty(APPLICATION_NAME.getLongName(), application);
     LoggerUtil.setupMDC(service);
 
-    Logger logger = LogManager.getLogger(LoggerUtilTest.class);
-    LoggerUtil.addAppenders(logger, new String[] {appenderName}, args, ",");
-    TestAppender appender = (TestAppender)logger.getAppender(appenderName);
+    LoggerUtil.addAppenders(log4jLogger, new String[] {appenderName}, args, ",");
+    TestAppender appender = (TestAppender)log4jLogger.getAppender(appenderName);
 
-    LoggerUtilTest.logger.info(args);
+    LoggerUtilTest.logger.debug(args);
     assertEquals(service, appender.mdcProperties.get("apex.service"));
     String node = StramClientUtils.getHostName();
     assertEquals(node == null ? "unknown" : node, appender.mdcProperties.get("apex.node"));
     assertEquals(application, appender.mdcProperties.get("apex.application"));
 
-    assertTrue(LoggerUtil.removeAppender(logger, appenderName));
+    assertTrue(LoggerUtil.removeAppender(log4jLogger, appenderName));
   }
 
   public static class TestAppender extends ConsoleAppender
@@ -263,7 +303,6 @@ public class LoggerUtilTest
       mdcProperties = event.getProperties();
       lastMessage = event.getRenderedMessage();
       level = event.getLevel();
-      super.append(event);
     }
   }
 }
diff --git a/engine/src/test/resources/log4j.properties b/engine/src/test/resources/log4j.properties
index 5933804..0ccdb7f 100644
--- a/engine/src/test/resources/log4j.properties
+++ b/engine/src/test/resources/log4j.properties
@@ -17,28 +17,24 @@
 # under the License.
 #
 
-log4j.rootLogger=INFO,CONSOLE
+# Set root logger level to WARN to not flood build logs
+# set manually to DEBUG or INFO for debugging purposes
+log4j.rootLogger=warn, root
 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
+# Redirect root appender to standard error
+log4j.appender.root=org.apache.log4j.ConsoleAppender
+log4j.appender.root.target=System.err
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
 
-log4j.appender.malhar=org.apache.log4j.RollingFileAppender
-log4j.appender.malhar.layout=org.apache.log4j.PatternLayout
-log4j.appender.malhar.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
-#log4j.appender.malhar.File=/tmp/app.log
+log4j.appender.apex=org.apache.log4j.ConsoleAppender
+log4j.appender.apex.layout=org.apache.log4j.PatternLayout
+log4j.appender.apex.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
 
-# to enable, add SYSLOG to rootLogger
-log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
-log4j.appender.SYSLOG.syslogHost=127.0.0.1
-log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
-log4j.appender.SYSLOG.layout.conversionPattern=${dt.cid} %-5p [%t] %c{2} %x - %m%n
-log4j.appender.SYSLOG.Facility=LOCAL1
-
-#log4j.logger.org=info
-#log4j.logger.org.apache.commons.beanutils=warn
-log4j.logger.com.datatorrent=info
-log4j.logger.org.apache.apex=info
+log4j.logger.com.datatorrent=info, apex
+log4j.additivity.com.datatorrent=false
+log4j.logger.org.apache.apex=info, apex
+log4j.additivity.org.apache.apex=false
 
 # suppress Journal warnings in unit test
 log4j.logger.com.datatorrent.stram.Journal=error

-- 
To stop receiving notification emails like this one, please contact
['"commits@apex.apache.org" <co...@apex.apache.org>'].