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"><?xml version="1.0" encoding="UTF-8"?>
<Events xmlns="http://logging.apache.org/log4j/2.0/events">
- <Event logger="com.foo.Bar" timestamp="1373436580419" level="INFO" thread="main">
+ <Event logger="com.foo.Bar" timestamp="1373436580419" level="INFO" threadId="1" thread="main" threadPriority="1">
<Message><![CDATA[This is a log message 1]]></Message>
<Marker parent="Parent Marker"><Child Marker></Marker>
</Event>
- <Event logger="com.foo.Baz" timestamp="1373436580420" level="INFO" thread="main">
+ <Event logger="com.foo.Baz" timestamp="1373436580420" level="INFO" threadId="1" thread="main" threadPriority="1">
<Message><![CDATA[This is a log message 2]]></Message>
<Marker><The Marker Name></Marker>
</Event>