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>'].