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:08:59 UTC

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

Author: rmannibucau
Date: Mon Jan 23 01:08:58 2012
New Revision: 1234662

URL: http://svn.apache.org/viewvc?rev=1234662&view=rev
Log:
trying to get some default logging

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/SingleLineFormatter.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=1234662&r1=1234661&r2=1234662&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:08:58 2012
@@ -16,6 +16,14 @@
  */
 package org.apache.openejb.util;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.Enumeration;
+import java.util.logging.ConsoleHandler;
+import java.util.logging.Handler;
+import java.util.logging.LogManager;
+import java.util.logging.Logger;
+
 /**
  * default conf = jre conf
  * user conf used transparently
@@ -24,4 +32,39 @@ public class JuliLogStreamFactory implem
     public LogStream createLogStream(LogCategory logCategory) {
         return new JuliLogStream(logCategory);
     }
+
+    static {
+        final Class<LogCategory> clazz = LogCategory.class;
+        for (Field constant : clazz.getFields()) {
+            int modifiers = constant.getModifiers();
+            if (Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers)) {
+                final String name;
+                try {
+                    name = ((LogCategory) constant.get(null)).getName();
+                } 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 (init) { // no conf
+                    final Logger logger = java.util.logging.Logger.getLogger(name);
+                    logger.setUseParentHandlers(false);
+                    LogManager.getLogManager().addLogger(logger);
+                    if (logger.getHandlers().length == 0) {
+                        logger.addHandler(new ConsoleHandler());
+                    }
+                    for (Handler h : logger.getHandlers()) {
+                        h.setFormatter(new SingleLineFormatter());
+                    }
+                }
+            }
+        }
+    }
 }

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/SingleLineFormatter.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/SingleLineFormatter.java?rev=1234662&r1=1234661&r2=1234662&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/SingleLineFormatter.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/SingleLineFormatter.java Mon Jan 23 01:08:58 2012
@@ -1,4 +1,4 @@
-package org.apache.openejb.logging;
+package org.apache.openejb.util;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;