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/02/20 10:34:35 UTC

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

Author: rmannibucau
Date: Mon Feb 20 09:34:35 2012
New Revision: 1291161

URL: http://svn.apache.org/viewvc?rev=1291161&view=rev
Log:
enhancing logging to be able to read openejb properties to change it in standalone

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java
    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/Logger.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java?rev=1291161&r1=1291160&r2=1291161&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java Mon Feb 20 09:34:35 2012
@@ -16,6 +16,9 @@
  */
 package org.apache.openejb.util;
 
+import org.apache.openejb.loader.SystemInstance;
+
+import java.util.logging.Handler;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 import java.util.logging.Logger;
@@ -25,6 +28,14 @@ public class JuliLogStream implements Lo
 
     public JuliLogStream(LogCategory logCategory) {
         logger = Logger.getLogger(logCategory.getName());
+
+        final String level = logger.getName() + ".level";
+        if (SystemInstance.get().getProperties().containsKey(level)) {
+            final String newLevel = SystemInstance.get().getProperty(level);
+            for (Handler handler : logger.getHandlers()) {
+                handler.setLevel(Level.parse(newLevel));
+            }
+        }
     }
 
     public boolean isFatalEnabled() {

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=1291161&r1=1291160&r2=1291161&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 Feb 20 09:34:35 2012
@@ -19,7 +19,6 @@ package org.apache.openejb.util;
 import org.apache.openejb.loader.SystemInstance;
 
 import java.util.logging.ConsoleHandler;
-import java.util.logging.Level;
 import java.util.logging.LogManager;
 
 /**
@@ -54,6 +53,10 @@ public class JuliLogStreamFactory implem
         @Override
         public String getProperty(final String name) {
             final String parentValue = super.getProperty(name);
+            if (SystemInstance.get().getProperties().containsKey(name)) {
+                return SystemInstance.get().getProperty(name);
+            }
+
             // if it is one of ours loggers and no value is defined let set our nice logging style
             if (OpenEJBLogManager.class.getName().equals(System.getProperty("java.util.logging.manager")) // custom logging
                     && isOverridableLogger(name) // managed loggers
@@ -64,7 +67,7 @@ public class JuliLogStreamFactory implem
                     return "false";
                 }
             }
-            return super.getProperty(name);
+            return parentValue;
         }
 
         private static boolean isOverridableLogger(String name) {
@@ -82,7 +85,6 @@ public class JuliLogStreamFactory implem
     public static class OpenEJBSimpleLayoutHandler extends ConsoleHandler {
         public OpenEJBSimpleLayoutHandler() {
             setFormatter(new SingleLineFormatter());
-            setLevel(Level.INFO);
         }
     }
 

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1291161&r1=1291160&r2=1291161&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Mon Feb 20 09:34:35 2012
@@ -372,6 +372,35 @@ public class Logger {
         return logStream.isWarnEnabled();
     }
 
+    public boolean isLevelEnable(final String level) {
+        if ("info".equals(level.toLowerCase())) {
+            return isInfoEnabled();
+        } else if ("debug".equals(level.toLowerCase())) {
+            return isDebugEnabled();
+        } else if ("warning".equals(level.toLowerCase())) {
+            return isWarningEnabled();
+        } else if ("fatal".equals(level.toLowerCase())) {
+            return isFatalEnabled();
+        } else if ("error".equals(level.toLowerCase())) {
+            return isErrorEnabled();
+        }
+        return false;
+    }
+
+    public void log(final String level, final String message) {
+        if ("info".equals(level.toLowerCase())) {
+            info(message);
+        } else if ("debug".equals(level.toLowerCase())) {
+            debug(message);
+        } else if ("warning".equals(level.toLowerCase())) {
+            warning(message);
+        } else if ("fatal".equals(level.toLowerCase())) {
+            fatal(message);
+        } else if ("error".equals(level.toLowerCase())) {
+            error(message);
+        }
+    }
+
     /**
      * If this level is enabled, then it finds a message for the given key  and logs it
      *