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 2012/01/23 02:43:49 UTC

svn commit: r1234666 - /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java

Author: rmannibucau
Date: Mon Jan 23 01:43:48 2012
New Revision: 1234666

URL: http://svn.apache.org/viewvc?rev=1234666&view=rev
Log:
setting default only for root logger

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

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1234666&r1=1234665&r2=1234666&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Mon Jan 23 01:43:48 2012
@@ -18,7 +18,10 @@ package org.apache.openejb.util;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
+import java.util.ArrayList;
 import java.util.Enumeration;
+import java.util.List;
+import java.util.TreeMap;
 import java.util.logging.ConsoleHandler;
 import java.util.logging.Handler;
 import java.util.logging.LogManager;
@@ -35,6 +38,12 @@ public class JuliLogStreamFactory implem
 
     static {
         final Class<LogCategory> clazz = LogCategory.class;
+        final List<String> loggerNames = new ArrayList<String>();
+        final Enumeration<String> names = LogManager.getLogManager().getLoggerNames();
+        while (names.hasMoreElements()) {
+            loggerNames.add(names.nextElement());
+        }
+
         for (Field constant : clazz.getFields()) {
             int modifiers = constant.getModifiers();
             if (Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers)) {
@@ -44,16 +53,10 @@ public class JuliLogStreamFactory implem
                 } catch (IllegalAccessException e) {
                     continue;
                 }
-
-                final Enumeration<String> names = LogManager.getLogManager().getLoggerNames();
-                boolean init = true;
-                while (names.hasMoreElements()) {
-                    if (names.nextElement().startsWith(name)) {
-                        init = false;
-                        break;
-                    }
+                if (name.contains(".")) { // only parents
+                    continue;
                 }
-                if (init) { // no conf
+                if (!loggerNames.contains(name)) { // no conf
                     final Logger logger = java.util.logging.Logger.getLogger(name);
                     logger.setUseParentHandlers(false);
                     LogManager.getLogManager().addLogger(logger);