Author: rmannibucau
Date: Fri Jan 11 01:48:35 2013
New Revision: 1431796

URL: http://svn.apache.org/viewvc?rev=1431796&view=rev
Log:
consistency with propertis config for logging

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

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java?rev=1431796&r1=1431795&r2=1431796&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/log/LoggerCreator.java
 Fri Jan 11 01:48:35 2013
@@ -32,6 +32,17 @@ public class LoggerCreator implements Ca
 
     public LoggerCreator(final String channel) {
         name = channel;
+
+        // force eager init if config overrided
+        final Properties p = SystemInstance.get().getProperties();
+        final String levelName = p.getProperty("logging.level." + channel);
+        if (levelName != null) {
+            try {
+                call();
+            } catch (Exception e) {
+                // no-op
+            }
+        }
     }
 
     @Override
@@ -62,12 +73,16 @@ public class LoggerCreator implements Ca
         return logger;
     }
 
+    public boolean isInit() {
+        return init;
+    }
+
     public static final class Get {
         private Get() {
             // no-op
         }
 
-        public static Logger exec(final LoggerCreator creator) {
+        private static Logger exec(final LoggerCreator creator) {
             try {
                 return creator.call();
             } catch (Exception e) { // shouldn't occur regarding the impl we 
use
@@ -78,10 +93,21 @@ public class LoggerCreator implements Ca
         public static Logger exec(final LoggerCreator logger, final 
AtomicBoolean debug, final AtomicBoolean info) {
             final Logger l = exec(logger);
             if (!logger.init) {
-                debug.set(l.isLoggable(Level.FINE));
-                info.set(l.isLoggable(Level.INFO));
+                levels(logger, debug, info);
             }
             return l;
         }
+
+        public static void levels(final LoggerCreator lc, final AtomicBoolean 
debug, final AtomicBoolean info) {
+            final Logger l;
+            try {
+                l = lc.call();
+            } catch (Exception e) {
+                return;
+            }
+
+            debug.set(l.isLoggable(Level.FINE));
+            info.set(l.isLoggable(Level.INFO));
+        }
     }
 }

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java?rev=1431796&r1=1431795&r2=1431796&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/openjpa/JULOpenJPALog.java
 Fri Jan 11 01:48:35 2013
@@ -32,6 +32,9 @@ public class JULOpenJPALog  implements L
 
     public JULOpenJPALog(final LoggerCreator delegate) {
         logger = delegate;
+        if (logger.isInit()) {
+            LoggerCreator.Get.levels(logger, debug, info);
+        }
     }
 
     private Logger logger() {

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=1431796&r1=1431795&r2=1431796&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
 Fri Jan 11 01:48:35 2013
@@ -30,6 +30,9 @@ 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() {
@@ -57,7 +60,7 @@ public class JuliLogStream implements Lo
     }
 
     public boolean isWarnEnabled() {
-        return LoggerCreator.Get.exec(logger).isLoggable(Level.WARNING);
+        return LoggerCreator.Get.exec(logger, debug, 
info).isLoggable(Level.WARNING);
     }
 
     public void warn(String message) {
@@ -69,7 +72,7 @@ public class JuliLogStream implements Lo
     }
 
     public boolean isInfoEnabled() {
-        return LoggerCreator.Get.exec(logger).isLoggable(Level.INFO);
+        return LoggerCreator.Get.exec(logger, debug, 
info).isLoggable(Level.INFO);
     }
 
     public void info(String message) {
@@ -93,7 +96,7 @@ public class JuliLogStream implements Lo
     }
 
     private void log(Level level, String message, Throwable t) {
-        final Logger log = LoggerCreator.Get.exec(logger);
+        final Logger log = LoggerCreator.Get.exec(logger, debug, info);
         if (log.isLoggable(level)) {
             LogRecord logRecord = new OpenEJBLogRecord(level, message);
             if (t != null) logRecord.setThrown(t);


Reply via email to