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 2013/05/30 10:53:20 UTC

svn commit: r1487788 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/log/ container/openejb-core/src/main/java/org/apache/openejb/openjpa/ container/openejb-core/src/main/java/org/apache/openejb/util/ tomee/tomee-common...

Author: rmannibucau
Date: Thu May 30 08:53:20 2013
New Revision: 1487788

URL: http://svn.apache.org/r1487788
Log:
TOMEE-951 TOMEE-952 activating debug level when needed + some sample in logging.properties of tomee to activate openejb specific levels

Modified:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java
    tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java?rev=1487788&r1=1487787&r2=1487788&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java Thu May 30 08:53:20 2013
@@ -65,8 +65,6 @@ public class LoggerCreator implements Ca
                             handler.setLevel(level);
                         }
                     }
-
-                    init = true;
                 }
             }
         }
@@ -99,6 +97,10 @@ public class LoggerCreator implements Ca
         }
 
         public static void levels(final LoggerCreator lc, final AtomicBoolean debug, final AtomicBoolean info) {
+            if (lc.init) {
+                return;
+            }
+
             final Logger l;
             try {
                 l = lc.call();
@@ -108,6 +110,7 @@ public class LoggerCreator implements Ca
 
             debug.set(l.isLoggable(Level.FINE));
             info.set(l.isLoggable(Level.INFO));
+            lc.init = true;
         }
     }
 }

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java?rev=1487788&r1=1487787&r2=1487788&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java Thu May 30 08:53:20 2013
@@ -32,9 +32,6 @@ public class JULOpenJPALog  implements L
 
     public JULOpenJPALog(final LoggerCreator delegate) {
         logger = delegate;
-        if (logger.isInit()) {
-            LoggerCreator.Get.levels(logger, debug, info);
-        }
     }
 
     private Logger logger() {
@@ -43,11 +40,13 @@ public class JULOpenJPALog  implements L
 
     @Override
     public boolean isTraceEnabled() {
+        logger(); // ensure level cache is initialized
         return debug.get();
     }
 
     @Override
     public boolean isInfoEnabled() {
+        logger();
         return info.get();
     }
 

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java?rev=1487788&r1=1487787&r2=1487788&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java Thu May 30 08:53:20 2013
@@ -30,9 +30,6 @@ public class JuliLogStream implements Lo
 
     public JuliLogStream(LogCategory logCategory) {
         logger = new LoggerCreator(logCategory.getName());
-        if (logger.isInit()) {
-            LoggerCreator.Get.levels(logger, debug, info);
-        }
     }
 
     public boolean isFatalEnabled() {
@@ -72,7 +69,8 @@ public class JuliLogStream implements Lo
     }
 
     public boolean isInfoEnabled() {
-        return LoggerCreator.Get.exec(logger, debug, info).isLoggable(Level.INFO);
+        LoggerCreator.Get.exec(logger, debug, info);
+        return info.get();
     }
 
     public void info(String message) {
@@ -84,6 +82,7 @@ public class JuliLogStream implements Lo
     }
 
     public boolean isDebugEnabled() {
+        LoggerCreator.Get.levels(logger, debug, info); // cost nothing is init is done
         return debug.get();
     }
 

Modified: tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java?rev=1487788&r1=1487787&r2=1487788&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java (original)
+++ tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java Thu May 30 08:53:20 2013
@@ -634,35 +634,77 @@ public class Installer {
         //
         // conf/logging.properties
         // now we are using tomcat one of jdk one by default
-        // this test should always fail
         //
-        String openejbLoggingProps = Installers.readEntry(coreJar, "logging.properties", alerts);
-        if (openejbLoggingProps != null) {
-            File loggingPropsFile = new File(confDir, "logging.properties");
-            String newLoggingProps = null;
-            if (!loggingPropsFile.exists()) {
-                newLoggingProps = openejbLoggingProps;
-            } else {
-                String loggingPropsOriginal = Installers.readAll(loggingPropsFile, alerts);
-                if (!loggingPropsOriginal.toLowerCase().contains("openejb")) {
-                    // strip off license header
-                    String[] strings = openejbLoggingProps.split("## --*", 3);
-                    if (strings.length == 3) {
-                        openejbLoggingProps = strings[2];
-                    }
-                    // append our properties
-                    newLoggingProps = loggingPropsOriginal +
-                            "\r\n" +
-                            "############################################################\r\n" +
-                            "# OpenEJB Logging Configuration.\r\n" +
-                            "############################################################\r\n" +
-                            openejbLoggingProps + "\r\n";
-                }
+        final String openejbLoggingProps = "################################\n\n" +
+                "# OpenEJB/TomEE specific loggers\n\n" +
+                "################################\n\n" +
+                "#\n\n" +
+                "# ACTIVATE LEVEL/HANDLERS YOU WANT\n\n" +
+                "# IF YOU ACTIVATE 5tomee.org.apache.juli.FileHandler\n\n" +
+                "# ADD IT TO handlers LINE LIKE:\n\n" +
+                "#\n\n" +
+                "# handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "#\n\n" +
+                "# LEVELS:\n\n" +
+                "# =======\n\n" +
+                "#\n\n" +
+                "# OpenEJB.level             = WARNING\n\n" +
+                "# OpenEJB.options.level     = INFO\n\n" +
+                "# OpenEJB.server.level      = INFO\n\n" +
+                "# OpenEJB.startup.level     = INFO\n\n" +
+                "# OpenEJB.startup.service.level = WARNING\n\n" +
+                "# OpenEJB.startup.config.level = INFO\n\n" +
+                "# OpenEJB.hsql.level        = INFO\n\n" +
+                "# CORBA-Adapter.level       = WARNING\n\n" +
+                "# Transaction.level         = WARNING\n\n" +
+                "# org.apache.activemq.level = SEVERE\n\n" +
+                "# org.apache.geronimo.level = SEVERE\n\n" +
+                "# openjpa.level             = WARNING\n\n" +
+                "# OpenEJB.cdi.level         = INFO\n\n" +
+                "# org.apache.webbeans.level = INFO\n\n" +
+                "# org.apache.openejb.level = FINE\n\n" +
+                "#\n\n" +
+                "# HANDLERS:\n\n" +
+                "# =========\n\n" +
+                "#\n\n" +
+                "# OpenEJB.handlers             = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# OpenEJB.options.handlers     = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# OpenEJB.server.handlers      = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# OpenEJB.startup.handlers     = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# OpenEJB.startup.service.handlers = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# OpenEJB.startup.config.handlers = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# OpenEJB.hsql.handlers        = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# CORBA-Adapter.handlers       = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# Transaction.handlers         = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# org.apache.activemq.handlers = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# org.apache.geronimo.handlers = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# openjpa.handlers             = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# OpenEJB.cdi.handlers         = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# org.apache.webbeans.handlers = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\n\n" +
+                "# org.apache.openejb.handlers = 5tomee.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler\r\n" +
+                "#\r\n" +
+                "# TOMEE HANDLER SAMPLE:\r\n" +
+                "# =====================\r\n" +
+                "#\n\n" +
+                "# 5tomee.org.apache.juli.FileHandler.level = FINEST\n\n" +
+                "# 5tomee.org.apache.juli.FileHandler.directory = ${catalina.base}/logs\n\n" +
+                "# 5tomee.org.apache.juli.FileHandler.prefix = tomee.\n\n";
+        File loggingPropsFile = new File(confDir, "logging.properties");
+        String newLoggingProps = null;
+        if (!loggingPropsFile.exists()) {
+            newLoggingProps = openejbLoggingProps;
+        } else {
+            String loggingPropsOriginal = Installers.readAll(loggingPropsFile, alerts);
+            if (!loggingPropsOriginal.toLowerCase().contains("openejb")) {
+                // append our properties
+                newLoggingProps = loggingPropsOriginal +
+                        "\r\n\r\n" +
+                        openejbLoggingProps + "\r\n";
             }
-            if (newLoggingProps != null) {
-                if (Installers.writeAll(loggingPropsFile, newLoggingProps, alerts)) {
-                    alerts.addInfo("Append OpenEJB config to logging.properties");
-                }
+        }
+        if (newLoggingProps != null) {
+            if (Installers.writeAll(loggingPropsFile, newLoggingProps, alerts)) {
+                alerts.addInfo("Append OpenEJB config to logging.properties");
             }
         }