You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2016/02/18 17:46:15 UTC
[3/7] tomee git commit: Try a full logging reset after undeploy
Try a full logging reset after undeploy
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/36e25f79
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/36e25f79
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/36e25f79
Branch: refs/heads/tomee-1.7.x
Commit: 36e25f79f94e34784e56445b656b4f42d1f9081b
Parents: c1c1f7c
Author: AndyGee <an...@gmx.de>
Authored: Thu Feb 11 14:29:07 2016 +0100
Committer: AndyGee <an...@gmx.de>
Committed: Thu Feb 11 14:29:07 2016 +0100
----------------------------------------------------------------------
.../apache/openejb/assembler/classic/Assembler.java | 9 +++++----
.../apache/openejb/util/JuliLogStreamFactory.java | 15 ++++++++-------
.../main/java/org/apache/openejb/util/Logger.java | 12 +++++++++++-
3 files changed, 24 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/36e25f79/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
index 6357d94..98b9194 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
@@ -1701,7 +1701,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
removeResourceInfo(boundName);
try {
containerSystem.getJNDIContext().unbind(boundName);
- } catch (NamingException e) {
+ } catch (final NamingException e) {
logger.error("Error unbinding " + boundName, e);
}
} else {
@@ -2186,7 +2186,8 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
throw undeployException;
}
- this.resetSlf4j();
+ Assembler.resetSlf4j(logger);
+ Logger.configure(true);
logger.debug("destroyApplication.success", appInfo.path);
} finally {
@@ -2194,7 +2195,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
}
}
- private void resetSlf4j() {
+ private static void resetSlf4j(final Logger logger) {
final Method m = Assembler.SLF4J_RESET.get();
@@ -2216,7 +2217,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
try {
object = globalContext.lookup(name);
- } catch (NamingException e) {
+ } catch (final NamingException e) {
// if we catch a NamingException, check to see if the resource is a LaztObjectReference that has not been initialized correctly
final String ctx = name.substring(0, name.lastIndexOf("/"));
final String objName = name.substring(ctx.length() + 1);
http://git-wip-us.apache.org/repos/asf/tomee/blob/36e25f79/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java b/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
index 5d3f5b0..ae8276a 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
@@ -37,14 +37,10 @@ import java.util.logging.Logger;
public class JuliLogStreamFactory implements LogStreamFactory {
public static final String OPENEJB_LOG_COLOR_PROP = "openejb.log.color";
- private static String consoleHandlerClazz;
- private static boolean useOpenEJBHandler;
+ private static volatile String consoleHandlerClazz;
+ private static volatile boolean useOpenEJBHandler;
- public LogStream createLogStream(final LogCategory logCategory) {
- return new JuliLogStream(logCategory);
- }
-
- static {
+ public JuliLogStreamFactory() {
final boolean tomee = is("org.apache.tomee.catalina.TomcatLoader");
final boolean embedded = is("org.apache.tomee.embedded.Container");
@@ -101,6 +97,11 @@ public class JuliLogStreamFactory implements LogStreamFactory {
}
}
+ @Override
+ public LogStream createLogStream(final LogCategory logCategory) {
+ return new JuliLogStream(logCategory);
+ }
+
private static void setRootLogger(final OpenEJBLogManager value) {
try { // if we don't do it - which is done in static part of the LogManager - we couldn't log user info when force-reload is to true
final Class<?> rootLoggerClass = ClassLoader.getSystemClassLoader().loadClass("java.util.logging.LogManager$RootLogger");
http://git-wip-us.apache.org/repos/asf/tomee/blob/36e25f79/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java b/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
index 4a3886f..2e01b65 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
@@ -33,7 +33,7 @@ import java.util.ResourceBundle;
public class Logger {
private static final String SUFFIX = ".Messages";
private static final String OPENEJB = "org.apache.openejb";
- private static LogStreamFactory logStreamFactory;
+ private static volatile LogStreamFactory logStreamFactory;
// don't return the instance since it needs to stay private but export which one is used to allow integration with other libs (as tomcat ;))
@SuppressWarnings("UnusedDeclaration")
@@ -45,10 +45,20 @@ public class Logger {
}
public static synchronized void configure() {
+ configure(false);
+ }
+
+ public static synchronized void configure(final boolean reset) {
+
+ if(reset){
+ logStreamFactory = null;
+ }
+
configure(System.getProperties());
}
public static synchronized void configure(final Properties config) {
+
if (logStreamFactory != null) {
return;
}