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]); + } } } }