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 2014/10/06 13:07:42 UTC
svn commit: r1629618 -
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
Author: rmannibucau
Date: Mon Oct 6 11:07:41 2014
New Revision: 1629618
URL: http://svn.apache.org/r1629618
Log:
we miss configure(Props) in LogStreamfactory so workaround for a known property, we can desire to do it for few more and maybe use a ThreadLocal but it would be a as poor solution as today
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1629618&r1=1629617&r2=1629618&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Mon Oct 6 11:07:41 2014
@@ -82,21 +82,36 @@ public class Logger {
factoryName = "org.apache.openejb.util.Log4j2LogStreamFactory";
}
- if (factoryName != null) {
+ // we can be called before having SystemInstance so we need this hack to set some specific
+ // environment
+ // without changing LogStreamFactory contract
+ final String specialKey = "openejb.jul.forceReload";
+ final String original = System.getProperty(specialKey);
+ System.setProperty(specialKey, config.getProperty(specialKey, SystemInstance.isInitialized() ? SystemInstance.get().getOptions().get(specialKey, (String) null) : null));
- logStreamFactory = createFactory(factoryName);
- }
+ try {
+ if (factoryName != null) {
- if (isLog4jImplied()) {
- logStreamFactory = createFactory("org.apache.openejb.util.Log4jLogStreamFactory");
- }
+ logStreamFactory = createFactory(factoryName);
+ }
- //Fall back -> JUL
- if (logStreamFactory == null) {
- logStreamFactory = new JuliLogStreamFactory();
- }
+ if (isLog4jImplied()) {
+ logStreamFactory = createFactory("org.apache.openejb.util.Log4jLogStreamFactory");
+ }
- checkForIgnoredLog4jConfig();
+ //Fall back -> JUL
+ if (logStreamFactory == null) {
+ logStreamFactory = new JuliLogStreamFactory();
+ }
+
+ checkForIgnoredLog4jConfig();
+ } finally {
+ if (original == null) {
+ System.clearProperty(specialKey);
+ } else {
+ System.setProperty(specialKey, original);
+ }
+ }
}
private static void checkForIgnoredLog4jConfig() {