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:11:24 UTC

svn commit: r1629848 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util: JuliLogStreamFactory.java Logger.java

Author: rmannibucau
Date: Tue Oct  7 10:11:24 2014
New Revision: 1629848

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

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

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1629848&r1=1629847&r2=1629848&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Tue Oct  7 10:11:24 2014
@@ -19,6 +19,7 @@ package org.apache.openejb.util;
 
 import org.apache.openejb.loader.Options;
 import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.log.ConsoleColorHandler;
 import org.apache.openejb.log.SingleLineFormatter;
 import org.apache.openejb.util.reflection.Reflections;
 import org.apache.webbeans.logger.WebBeansLoggerFacade;
@@ -53,10 +54,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 = org.apache.openejb.log.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/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1629848&r1=1629847&r2=1629848&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Tue Oct  7 10:11:24 2014
@@ -85,11 +85,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 {
@@ -109,10 +114,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]);
+                }
             }
         }
     }