You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/03/04 15:22:54 UTC

[16/50] [abbrv] logging-log4j2 git commit: [LOG4J2-1299] Add pattern converter for thread id and priority in PatternLayout.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/585beba1/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
----------------------------------------------------------------------
diff --git a/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java b/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
index 611f23f..769fa74 100644
--- a/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
+++ b/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
@@ -248,6 +248,24 @@ public class FlumeEvent extends SimpleEvent implements LogEvent {
     }
 
     /**
+     * Returns the ID of the Thread.
+     * @return the ID of the Thread.
+     */
+    @Override
+    public long getThreadId() {
+        return event.getThreadId();
+    }
+
+    /**
+     * Returns the priority of the Thread.
+     * @return the priority of the Thread.
+     */
+    @Override
+    public int getThreadPriority() {
+        return event.getThreadPriority();
+    }
+
+    /**
      * Returns the name of the Thread.
      * @return the name of the Thread.
      */

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/585beba1/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManager.java
----------------------------------------------------------------------
diff --git a/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManager.java b/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManager.java
index d879b07..448cd04 100644
--- a/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManager.java
+++ b/log4j-nosql/src/main/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManager.java
@@ -90,7 +90,9 @@ public final class NoSqlDatabaseManager<W> extends AbstractDatabaseManager {
             entity.set("marker", buildMarkerEntity(marker));
         }
 
+        entity.set("threadId", event.getThreadId());
         entity.set("threadName", event.getThreadName());
+        entity.set("threadPriority", event.getThreadPriority());
         entity.set("millis", event.getTimeMillis());
         entity.set("date", new java.util.Date(event.getTimeMillis()));
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/585beba1/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManagerTest.java
----------------------------------------------------------------------
diff --git a/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManagerTest.java b/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManagerTest.java
index d90a804..7809451 100644
--- a/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManagerTest.java
+++ b/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/NoSqlDatabaseManagerTest.java
@@ -185,7 +185,9 @@ public class NoSqlDatabaseManagerTest {
             expect(message.getFormattedMessage()).andReturn("My formatted message 01.");
             expect(event.getSource()).andReturn(new StackTraceElement("com.foo.Bar", "testMethod01", "Bar.java", 15));
             expect(event.getMarker()).andReturn(null);
+            expect(event.getThreadId()).andReturn(1L);
             expect(event.getThreadName()).andReturn("MyThread-A");
+            expect(event.getThreadPriority()).andReturn(1);
             expect(event.getTimeMillis()).andReturn(1234567890123L).times(2);
             expect(event.getThrown()).andReturn(null);
             expect(event.getContextMap()).andReturn(null);
@@ -293,7 +295,9 @@ public class NoSqlDatabaseManagerTest {
             expect(message.getFormattedMessage()).andReturn("Another cool message 02.");
             expect(event.getSource()).andReturn(new StackTraceElement("com.bar.Foo", "anotherMethod03", "Foo.java", 9));
             expect(event.getMarker()).andReturn(MarkerManager.getMarker("LoneMarker"));
+            expect(event.getThreadId()).andReturn(1L);
             expect(event.getThreadName()).andReturn("AnotherThread-B");
+            expect(event.getThreadPriority()).andReturn(1);
             expect(event.getTimeMillis()).andReturn(987654321564L).times(2);
             expect(event.getThrown()).andReturn(exception);
             expect(event.getContextMap()).andReturn(context);
@@ -443,7 +447,9 @@ public class NoSqlDatabaseManagerTest {
             expect(event.getMarker()).andReturn(
                     MarkerManager.getMarker("AnotherMarker").addParents(MarkerManager.getMarker("Parent1").addParents(MarkerManager.getMarker("GrandParent1")),
                             MarkerManager.getMarker("Parent2")));
+            expect(event.getThreadId()).andReturn(1L);
             expect(event.getThreadName()).andReturn("AnotherThread-B");
+            expect(event.getThreadPriority()).andReturn(1);
             expect(event.getTimeMillis()).andReturn(987654321564L).times(2);
             expect(event.getThrown()).andReturn(exception2);
             expect(event.getContextMap()).andReturn(context);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/585beba1/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d1e92fe..42c4c1b 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
   </properties>
   <body>
     <release version="2.6" date="2016-MM-DD" description="GA Release 2.6">
+      <action issue="LOG4J2-1299" dev="ggregory" type="add">
+        Add pattern converter for thread id and priority in PatternLayout.
+      </action>
       <action issue="LOG4J2-1271" dev="rpopma" type="add">
         Add MessageFactory that avoid allocation by reusing a cached ParameterizedMessage instance.
       </action>

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/585beba1/src/site/xdoc/manual/layouts.xml.vm
----------------------------------------------------------------------
diff --git a/src/site/xdoc/manual/layouts.xml.vm b/src/site/xdoc/manual/layouts.xml.vm
index 03b4b05..fa602e4 100644
--- a/src/site/xdoc/manual/layouts.xml.vm
+++ b/src/site/xdoc/manual/layouts.xml.vm
@@ -166,7 +166,9 @@ logger.debug("one={}, two={}, three={}", 1, 2, 3);
             <li>Time Nanos</li>
             <li>Time Millis</li>
             <li>Level</li>
+            <li>Thread ID</li>
             <li>Thread Name</li>
+            <li>Thread Priority</li>
             <li>Formatted Message</li>
             <li>Logger FQCN</li>
             <li>Logger Name</li>
@@ -273,14 +275,18 @@ logger.debug("one={}, two={}, three={}", 1, 2, 3);
     "logger":"com.foo.Bar",
     "timestamp":"1376681196470",
     "level":"INFO",
+    "threadId":1,
     "thread":"main",
+    "threadPriority":1,
     "message":"Message flushed with immediate flush=true"
   },
   {
     "logger":"com.foo.Bar",
     "timestamp":"1376681196471",
     "level":"ERROR",
+    "threadId":1,
     "thread":"main",
+    "threadPriority":1,
     "message":"Message flushed with immediate flush=true",
     "throwable":"java.lang.IllegalArgumentException: badarg\\n\\tat org.apache.logging.log4j.core.appender.JSONCompleteFileAppenderTest.testFlushAtEndOfBatch(JSONCompleteFileAppenderTest.java:54)\\n\\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\\n\\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\\n\\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\\n\\tat java.lang.reflect.Method.invoke(Method.java:606)\\n\\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)\\n\\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\\n\\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)\\n\\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\\n\\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)\\n\\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(Bl
 ockJUnit4ClassRunner.java:70)\\n\\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\\n\\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)\\n\\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)\\n\\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)\\n\\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)\\n\\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)\\n\\tat org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)\\n\\tat org.junit.runners.ParentRunner.run(ParentRunner.java:309)\\n\\tat org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)\\n\\tat org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)\\n\\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)\\n\\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
 stRunner.java:683)\\n\\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)\\n\\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)\\n"
   }
@@ -1233,13 +1239,29 @@ WARN  [main]: Message 2</pre>
             </tr>
             <tr>
               <td align="center">
+                <b>T</b><br />
+                <b>tid</b><br />
+                <b>threadId</b>
+              </td>
+              <td>Outputs the ID of the thread that generated the logging event.</td>
+            </tr>
+            <tr>
+              <td align="center">
                 <b>t</b><br />
-                <b>thread</b>
+                <b>thread</b><br />
+                <b>threadName</b>
               </td>
               <td>Outputs the name of the thread that generated the logging event.</td>
             </tr>
             <tr>
               <td align="center">
+                <b>tp</b><br />
+                <b>threadPriority</b>
+              </td>
+              <td>Outputs the priority of the thread that generated the logging event.</td>
+            </tr>
+            <tr>
+              <td align="center">
                 <b>x</b><br />
                 <b>NDC</b>
               </td>
@@ -1714,11 +1736,11 @@ at org.apache.logging.log4j.core.pattern.ExtendedThrowableTest.testException(Ext
           </p>
           <pre class="prettyprint linenums">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
 &lt;Events xmlns=&quot;http://logging.apache.org/log4j/2.0/events&quot;&gt;
-  &lt;Event logger=&quot;com.foo.Bar&quot; timestamp=&quot;1373436580419&quot; level=&quot;INFO&quot; thread=&quot;main&quot;&gt;
+  &lt;Event logger=&quot;com.foo.Bar&quot; timestamp=&quot;1373436580419&quot; level=&quot;INFO&quot; threadId=&quot;1&quot; thread=&quot;main&quot; threadPriority=&quot;1&quot;&gt;
     &lt;Message&gt;&lt;![CDATA[This is a log message 1]]&gt;&lt;/Message&gt;
     &lt;Marker parent=&quot;Parent Marker&quot;&gt;&lt;Child Marker&gt;&lt;/Marker&gt;
   &lt;/Event&gt;
-  &lt;Event logger=&quot;com.foo.Baz&quot; timestamp=&quot;1373436580420&quot; level=&quot;INFO&quot; thread=&quot;main&quot;&gt;
+  &lt;Event logger=&quot;com.foo.Baz&quot; timestamp=&quot;1373436580420&quot; level=&quot;INFO&quot; threadId=&quot;1&quot; thread=&quot;main&quot; threadPriority=&quot;1&quot;&gt;
     &lt;Message&gt;&lt;![CDATA[This is a log message 2]]&gt;&lt;/Message&gt;
     &lt;Marker&gt;&lt;The Marker Name&gt;&lt;/Marker&gt;
   &lt;/Event&gt;