You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/10/07 12:10:32 UTC

svn commit: r1629847 - in /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util: JuliLogStreamFactory.java Logger.java

Author: rmannibucau
Date: Tue Oct  7 10:10:31 2014
New Revision: 1629847

URL: http://svn.apache.org/r1629847
Log:
TOMEE-1385 allow to change consoleHandlerClazz

Modified:
    tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
    tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java

Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1629847&r1=1629846&r2=1629847&view=diff
==============================================================================
--- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original)
+++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Tue Oct  7 10:10:31 2014
@@ -53,10 +53,13 @@ public class JuliLogStreamFactory implem
         final Options options = SystemInstance.get().getOptions();
         final boolean forceLogs = options.get("openejb.jul.forceReload", false);
         if ((!tomee || embedded || forceLogs) && System.getProperty("java.util.logging.manager") == null) {
-            if (options.get(OPENEJB_LOG_COLOR_PROP, false) && isNotIDE()) {
-                consoleHandlerClazz = ConsoleColorHandler.class.getName();
-            } else {
-                consoleHandlerClazz = OpenEJBSimpleLayoutHandler.class.getName();
+            consoleHandlerClazz = System.getProperty("openejb.jul.consoleHandlerClazz");
+            if (consoleHandlerClazz == null) {
+                if (options.get(OPENEJB_LOG_COLOR_PROP, false) && isNotIDE()) {
+                    consoleHandlerClazz = ConsoleColorHandler.class.getName();
+                } else {
+                    consoleHandlerClazz = OpenEJBSimpleLayoutHandler.class.getName();
+                }
             }
 
             try { // check it will not fail later (case when a framework change the JVM classloading)

Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1629847&r1=1629846&r2=1629847&view=diff
==============================================================================
--- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original)
+++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Tue Oct  7 10:10:31 2014
@@ -87,11 +87,16 @@ public class Logger {
 
         // we can be called before having SystemInstance so we need this hack to set some specific environment
         // without changing LogStreamFactory contract
-        final String specialKey = "openejb.jul.forceReload";
-        final String original = System.getProperty(specialKey);
-        final String property = config.getProperty(specialKey, SystemInstance.isInitialized() ? SystemInstance.get().getOptions().get(specialKey, (String) null) : null);
-        if (property != null) {
-            System.setProperty(specialKey, property);
+        final String[] specialKeys = new String[] { "openejb.jul.forceReload", "openejb.jul.consoleHandlerClazz" };
+        final String[] originals = new String[specialKeys.length];
+        for (int i = 0; i < specialKeys.length; i++) {
+            originals[i] = System.getProperty(specialKeys[i]);
+            final String property = config.getProperty(
+                    specialKeys[i],
+                    SystemInstance.isInitialized() ? SystemInstance.get().getOptions().get(specialKeys[i], (String) null) : null);
+            if (property != null) {
+                System.setProperty(specialKeys[i], property);
+            }
         }
 
         try {
@@ -111,10 +116,12 @@ public class Logger {
 
             checkForIgnoredLog4jConfig();
         } finally {
-            if (original == null) {
-                System.clearProperty(specialKey);
-            } else {
-                System.setProperty(specialKey, original);
+            for (int i = 0; i < specialKeys.length; i++) {
+                if (originals[i] == null) {
+                    System.clearProperty(specialKeys[i]);
+                } else {
+                    System.setProperty(specialKeys[i], originals[i]);
+                }
             }
         }
     }