You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/04/20 19:20:06 UTC

svn commit: r1588796 - in /logging/log4j/log4j2/branches/experimental: ./ log4j-core/src/main/java/org/apache/logging/log4j/core/async/ log4j-core/src/test/java/org/apache/logging/log4j/core/config/ log4j-core/src/test/java/org/apache/logging/log4j/cor...

Author: mattsicker
Date: Sun Apr 20 17:20:06 2014
New Revision: 1588796

URL: http://svn.apache.org/r1588796
Log:
Attempting to merge from trunk.

Modified:
    logging/log4j/log4j2/branches/experimental/   (props changed)
    logging/log4j/log4j2/branches/experimental/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
    logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
    logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XMLConfigurationPropsTest.java
    logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props.xml
    logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props1.xml
    logging/log4j/log4j2/branches/experimental/pom.xml

Propchange: logging/log4j/log4j2/branches/experimental/
------------------------------------------------------------------------------
    svn:mergeinfo = /logging/log4j/log4j2/trunk:1588336-1588795

Modified: logging/log4j/log4j2/branches/experimental/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/experimental/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java?rev=1588796&r1=1588795&r2=1588796&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/experimental/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java (original)
+++ logging/log4j/log4j2/branches/experimental/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java Sun Apr 20 17:20:06 2014
@@ -73,8 +73,8 @@ import org.apache.logging.log4j.status.S
  */
 public class AsyncLogger extends Logger {
     private static final long serialVersionUID = 1L;
-    private static final int HALF_A_SECOND = 500;
-    private static final int MAX_DRAIN_ATTEMPTS_BEFORE_SHUTDOWN = 20;
+    private static final int SLEEP_MILLIS_BETWEEN_DRAIN_ATTEMPTS = 50;
+    private static final int MAX_DRAIN_ATTEMPTS_BEFORE_SHUTDOWN = 200;
     private static final int RINGBUFFER_MIN_SIZE = 128;
     private static final int RINGBUFFER_DEFAULT_SIZE = 256 * 1024;
     private static final StatusLogger LOGGER = StatusLogger.getLogger();
@@ -101,7 +101,7 @@ public class AsyncLogger extends Logger 
             try {
                 return ThreadNameStrategy.valueOf(name);
             } catch (final Exception ex) {
-                LOGGER.catching(Level.DEBUG, ex);
+                LOGGER.debug("Using AsyncLogger.ThreadNameStrategy.CACHED: '{}' not valid: {}", name, ex.toString());
                 return CACHED;
             }
         }
@@ -292,16 +292,17 @@ public class AsyncLogger extends Logger 
         }
         temp.shutdown();
 
-        // wait up to 10 seconds for the ringbuffer to drain
+        // Wait up to 10 seconds for the ringbuffer to drain,
+        // in case we received a burst of events right before the application was stopped.
         final RingBuffer<RingBufferLogEvent> ringBuffer = temp.getRingBuffer();
         for (int i = 0; i < MAX_DRAIN_ATTEMPTS_BEFORE_SHUTDOWN; i++) {
             if (ringBuffer.hasAvailableCapacity(ringBuffer.getBufferSize())) {
-                break;
+                break; // no more events queued, we can safely kill the processor thread
             }
             try {
                 // give ringbuffer some time to drain...
-                //noinspection BusyWait
-                Thread.sleep(HALF_A_SECOND);
+                // noinspection BusyWait
+                Thread.sleep(SLEEP_MILLIS_BETWEEN_DRAIN_ATTEMPTS);
             } catch (final InterruptedException e) {
                 // ignored
             }

Modified: logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java?rev=1588796&r1=1588795&r2=1588796&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java (original)
+++ logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java Sun Apr 20 17:20:06 2014
@@ -17,7 +17,8 @@
 package org.apache.logging.log4j.core.config;
 
 import java.io.File;
-
+import java.io.Serializable;
+import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.core.Appender;
 import org.apache.logging.log4j.core.Layout;
@@ -26,10 +27,12 @@ import org.apache.logging.log4j.core.app
 import org.apache.logging.log4j.core.config.xml.XMLConfiguration;
 import org.apache.logging.log4j.core.layout.PatternLayout;
 import org.apache.logging.log4j.junit.InitialLoggerContext;
+import org.apache.logging.log4j.status.StatusLogger;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
+import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 /**
@@ -49,12 +52,14 @@ public class CustomConfigurationTest {
 
     @Test
     public void testConfig() {
-        System.setProperty("log4j.level", "error");
+        // don't bother using "error" since that's the default; try another level
+        System.setProperty("log4j.level", "info");
         final LoggerContext ctx = this.init.getContext();
         ctx.reconfigure();
         final Configuration config = ctx.getConfiguration();
         assertTrue("Configuration is not an XMLConfiguration", config instanceof XMLConfiguration);
-        Layout layout = PatternLayout.createLayout(PatternLayout.SIMPLE_CONVERSION_PATTERN, config, null,
+        assertSame(StatusLogger.getLogger().getLevel(), Level.INFO);
+        Layout<? extends Serializable> layout = PatternLayout.createLayout(PatternLayout.SIMPLE_CONVERSION_PATTERN, config, null,
             null,null, null, null, null);
         Appender appender = FileAppender.createAppender(LOG_FILE, "false", "false", "File", "true",
             "false", "false", "4000", layout, null, "false", null, config);
@@ -68,7 +73,7 @@ public class CustomConfigurationTest {
         loggerConfig.addAppender(appender, null, null);
         config.addLogger("org.apache.logging.log4j", loggerConfig);
         ctx.updateLoggers();
-        Logger logger = ctx.getLogger("org.apache.logging.log4j.core.config.CustomConfigurationTest");
+        Logger logger = ctx.getLogger(CustomConfigurationTest.class.getName());
         logger.info("This is a test");
         final File file = new File(LOG_FILE);
         assertTrue("log file not created", file.exists());

Modified: logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XMLConfigurationPropsTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XMLConfigurationPropsTest.java?rev=1588796&r1=1588795&r2=1588796&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XMLConfigurationPropsTest.java (original)
+++ logging/log4j/log4j2/branches/experimental/log4j-core/src/test/java/org/apache/logging/log4j/core/config/xml/XMLConfigurationPropsTest.java Sun Apr 20 17:20:06 2014
@@ -45,7 +45,6 @@ public class XMLConfigurationPropsTest {
 
     @Test
     public void testNoProps() {
-        System.out.println("No status");
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
         final LoggerContext ctx = (LoggerContext) LogManager.getContext();
         ctx.reconfigure();
@@ -56,7 +55,6 @@ public class XMLConfigurationPropsTest {
 
     @Test
     public void testDefaultStatus() {
-        System.out.println("Default status");
         System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG1);
         System.setProperty(Constants.LOG4J_DEFAULT_STATUS_LEVEL, "DEBUG");
         try {

Modified: logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props.xml?rev=1588796&r1=1588795&r2=1588796&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props.xml (original)
+++ logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props.xml Sun Apr 20 17:20:06 2014
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Configuration status="${sys:log4j.level}" strict="false" name="DSI" packages="com.terradue.dsione">
+<Configuration status="${sys:log4j.level}" strict="false" name="DSI">
   <Appenders>
     <Console name="Console" target="SYSTEM_OUT">
       <PatternLayout pattern="[%-5level] %msg%n" />

Modified: logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props1.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props1.xml?rev=1588796&r1=1588795&r2=1588796&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props1.xml (original)
+++ logging/log4j/log4j2/branches/experimental/log4j-core/src/test/resources/log4j-props1.xml Sun Apr 20 17:20:06 2014
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<Configuration strict="false" name="DSI" packages="com.terradue.dsione">
+<Configuration strict="false" name="DSI">
   <Appenders>
     <Console name="Console" target="SYSTEM_OUT">
       <PatternLayout pattern="[%-5level] %msg%n" />

Modified: logging/log4j/log4j2/branches/experimental/pom.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/experimental/pom.xml?rev=1588796&r1=1588795&r2=1588796&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/experimental/pom.xml (original)
+++ logging/log4j/log4j2/branches/experimental/pom.xml Sun Apr 20 17:20:06 2014
@@ -913,8 +913,6 @@
     <module>log4j-samples</module>
     <module>log4j-bom</module>
     <module>log4j-plugin-processor</module>
-    <module>log4j-streams</module>
-    <module>log4j-camel</module>
   </modules>
   <profiles>
     <profile>