You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2015/11/18 17:13:12 UTC
[10/20] logging-log4j2 git commit: LOG4J2-1029 Performance
improvement when gathering location information
LOG4J2-1029 Performance improvement when gathering location information
- Use new Throwable().getStackTrace() instead of
Thread.currentThread().getStackTrace()
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/65adfab1
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/65adfab1
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/65adfab1
Branch: refs/heads/LOG4J-1181
Commit: 65adfab1b6afcbffde767b5d8a3213341c84c1eb
Parents: 381acc0
Author: rpopma <rp...@apache.org>
Authored: Wed Nov 11 22:48:42 2015 +0900
Committer: rpopma <rp...@apache.org>
Committed: Wed Nov 11 22:48:42 2015 +0900
----------------------------------------------------------------------
.../java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java | 2 +-
src/changes/changes.xml | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/65adfab1/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java
index d74d6e2..a6c2087 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java
@@ -542,7 +542,7 @@ public Log4jLogEvent(final String loggerName, final Marker marker, final String
if (fqcnOfLogger == null) {
return null;
}
- final StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
+ final StackTraceElement[] stackTrace = new Throwable().getStackTrace();
StackTraceElement last = null;
for (int i = stackTrace.length - 1; i > 0; i--) {
final String className = stackTrace[i].getClassName();
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/65adfab1/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index c82cc9d..e6b2f97 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -42,6 +42,9 @@
<action issue="LOG4J2-1187" dev="ggregory" type="add">
Support use case for java.sql.DriverManager.setLogStream(PrintStream).
</action>
+ <action issue="LOG4J2-1029" dev="rpopma" type="fix" due-to="Stefan Leonhartsberger">
+ Performance improvement when gathering location information.
+ </action>
<action issue="LOG4J2-1172" dev="rpopma" type="fix">
Fixed ThreadLocal leak [AsyncLogger$Info] on Tomcat when using AsyncLoggerContextSelector.
</action>