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/07/19 20:11:54 UTC
svn commit: r1611939 -
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java
Author: rmannibucau
Date: Sat Jul 19 18:11:54 2014
New Revision: 1611939
URL: http://svn.apache.org/r1611939
Log:
logging a class even in async log mode where we lost the info
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStream.java
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=1611939&r1=1611938&r2=1611939&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 Sat Jul 19 18:11:54 2014
@@ -107,6 +107,10 @@ public class JuliLogStream implements Lo
}
public static class OpenEJBLogRecord extends LogRecord {
+ private static final String LOGGER = org.apache.openejb.util.Logger.class.getName();
+ private static final String ASYNC_LOG_NAME = "org.apache.openejb.util.LogStreamAsync";
+ private static final String ASYNC_LOG_THREAD = ASYNC_LOG_NAME + "$Consumer";
+
/**
* The name of the class that issued the logging call.
*
@@ -173,16 +177,22 @@ public class JuliLogStream implements Lo
* Init the sourceClass and sourceMethod fields.
*/
private void initSource() {
- if (!sourceInited) {
+ if (!this.sourceInited) {
// search back up the stack for the first use of the OpenEJB Logger
final StackTraceElement[] elements = new Throwable().getStackTrace();
int i = 0;
String current = null;
for (; i < elements.length; i++) {
current = elements[i].getClassName();
- if (current.equals(org.apache.openejb.util.Logger.class.getName())) {
+ if (current.equals(LOGGER)) {
break;
}
+ if (current.equals(ASYNC_LOG_THREAD)) { // kind of mock since we lost the info
+ this.sourceClassName = ASYNC_LOG_NAME;
+ this.sourceMethodName = elements[i].getMethodName();
+ this.sourceInited = true;
+ return;
+ }
}
// Skip any internal OpenEJB Logger call
@@ -195,7 +205,8 @@ public class JuliLogStream implements Lo
this.sourceClassName = elements[i].getClassName();
this.sourceMethodName = elements[i].getMethodName();
}
- sourceInited = true;
+
+ this.sourceInited = true;
}
}
}