You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2015/09/08 08:06:50 UTC

logging-log4j2 git commit: [LOG4J2-1114] Add thread name to status logger layout.

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 <gg...@apache.org>
Authored: Mon Sep 7 23:06:48 2015 -0700
Committer: ggregory <gg...@apache.org>
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>