Repository: logging-log4j2 Updated Branches: refs/heads/master ab77e47ad -> d52b9b542
[LOG4J2-1114] Add thread name to status logger layout. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/d52b9b54 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/d52b9b54 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/d52b9b54 Branch: refs/heads/master Commit: d52b9b5429b7cecdcf4a317ab1fdbbef1b7aac60 Parents: ab77e47 Author: ggregory <[email protected]> Authored: Mon Sep 7 23:06:48 2015 -0700 Committer: ggregory <[email protected]> Committed: Mon Sep 7 23:06:48 2015 -0700 ---------------------------------------------------------------------- .../apache/logging/log4j/status/StatusData.java | 23 ++++++++++++++++---- .../logging/log4j/status/StatusLogger.java | 2 +- src/changes/changes.xml | 3 +++ 3 files changed, 23 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d52b9b54/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java index c57b8d0..be7dba7 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java @@ -16,6 +16,8 @@ */ package org.apache.logging.log4j.status; +import static org.apache.logging.log4j.util.Chars.SPACE; + import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.io.Serializable; @@ -29,12 +31,14 @@ import org.apache.logging.log4j.message.Message; * The Status data. */ public class StatusData implements Serializable { + private static final long serialVersionUID = -4341916115118014017L; private final long timestamp; private final StackTraceElement caller; private final Level level; private final Message msg; + private String threadName; private final Throwable throwable; /** @@ -43,13 +47,15 @@ public class StatusData implements Serializable { * @param level The logging level. * @param msg The message String. * @param t The Error or Exception that occurred. + * @param threadName The thread name */ - public StatusData(final StackTraceElement caller, final Level level, final Message msg, final Throwable t) { + public StatusData(final StackTraceElement caller, final Level level, final Message msg, final Throwable t, String threadName) { this.timestamp = System.currentTimeMillis(); this.caller = caller; this.level = level; this.msg = msg; this.throwable = t; + this.threadName = threadName; } /** @@ -84,6 +90,13 @@ public class StatusData implements Serializable { return msg; } + public String getThreadName() { + if (threadName == null) { + threadName = Thread.currentThread().getName(); + } + return threadName; + } + /** * Returns the Throwable associated with the event. * @return The Throwable associated with the event. @@ -100,9 +113,11 @@ public class StatusData implements Serializable { final StringBuilder sb = new StringBuilder(); final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS"); sb.append(format.format(new Date(timestamp))); - sb.append(' '); + sb.append(SPACE); + sb.append(getThreadName()); + sb.append(SPACE); sb.append(level.toString()); - sb.append(' '); + sb.append(SPACE); sb.append(msg.getFormattedMessage()); final Object[] params = msg.getParameters(); Throwable t; @@ -112,7 +127,7 @@ public class StatusData implements Serializable { t = throwable; } if (t != null) { - sb.append(' '); + sb.append(SPACE); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); t.printStackTrace(new PrintStream(baos)); sb.append(baos.toString()); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d52b9b54/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java index 14da0fa..cd96569 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java @@ -207,7 +207,7 @@ public final class StatusLogger extends AbstractLogger { if (fqcn != null) { element = getStackTraceElement(fqcn, Thread.currentThread().getStackTrace()); } - final StatusData data = new StatusData(element, level, msg, t); + final StatusData data = new StatusData(element, level, msg, t, null); msgLock.lock(); try { messages.add(data); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d52b9b54/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index d695814..5de063c 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -54,6 +54,9 @@ <action issue="LOG4J2-1096" dev="rpopma" type="update"> Improved performance of ParameterizedMessage::getFormattedMessage by ~2X. </action> + <action issue="LOG4J2-1114" dev="ggregory" type="update"> + Add thread name to status logger layout. + </action> <action issue="LOG4J2-1044" dev="rgoers" type="fix"> Write pending events to Flume when the appender is stopped. </action>
