You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ck...@apache.org on 2021/08/24 18:07:55 UTC
[logging-log4j2] branch master updated: Use time millis from event
for `LogEventAdapter` timestamp.
This is an automated email from the ASF dual-hosted git repository.
ckozak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/master by this push:
new 2645e2a Use time millis from event for `LogEventAdapter` timestamp.
2645e2a is described below
commit 2645e2acc012334e7099dcae9c0d87042049402a
Author: John Meikle <jo...@motorolasolutions.com>
AuthorDate: Mon Aug 23 20:49:13 2021 +0100
Use time millis from event for `LogEventAdapter` timestamp.
---
.../src/main/java/org/apache/log4j/bridge/LogEventAdapter.java | 5 +++++
log4j-1.2-api/src/main/java/org/apache/log4j/spi/LoggingEvent.java | 2 +-
.../src/test/java/org/apache/log4j/config/RewriteAppenderTest.java | 2 ++
src/changes/changes.xml | 4 ++++
4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/bridge/LogEventAdapter.java b/log4j-1.2-api/src/main/java/org/apache/log4j/bridge/LogEventAdapter.java
index c440a91..a2572b2 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/bridge/LogEventAdapter.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/bridge/LogEventAdapter.java
@@ -128,6 +128,11 @@ public class LogEventAdapter extends LoggingEvent {
return event.getLoggerName();
}
+ @Override
+ public long getTimeStamp() {
+ return event.getTimeMillis();
+ }
+
/**
* Gets the logger of the event.
*/
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/spi/LoggingEvent.java b/log4j-1.2-api/src/main/java/org/apache/log4j/spi/LoggingEvent.java
index a362187..02e322b 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/spi/LoggingEvent.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/spi/LoggingEvent.java
@@ -60,7 +60,7 @@ public class LoggingEvent {
return null;
}
- public final long getTimeStamp() {
+ public long getTimeStamp() {
return 0;
}
diff --git a/log4j-1.2-api/src/test/java/org/apache/log4j/config/RewriteAppenderTest.java b/log4j-1.2-api/src/test/java/org/apache/log4j/config/RewriteAppenderTest.java
index d7aca5c..7261172 100644
--- a/log4j-1.2-api/src/test/java/org/apache/log4j/config/RewriteAppenderTest.java
+++ b/log4j-1.2-api/src/test/java/org/apache/log4j/config/RewriteAppenderTest.java
@@ -57,6 +57,7 @@ public class RewriteAppenderTest {
Logger logger = LogManager.getLogger("test");
ThreadContext.put("key1", "This is a test");
ThreadContext.put("hello", "world");
+ long logTime = System.currentTimeMillis();
logger.debug("Say hello");
LoggerContext context = (LoggerContext) org.apache.logging.log4j.LogManager.getContext(false);
Configuration configuration = context.getConfiguration();
@@ -73,5 +74,6 @@ public class RewriteAppenderTest {
assertNotNull("No properties in the event", events.get(0).getProperties());
assertTrue("Key was not inserted", events.get(0).getProperties().containsKey("key2"));
assertEquals("Key value is incorrect", "Log4j", events.get(0).getProperties().get("key2"));
+ assertTrue("Timestamp is before point of logging", events.get(0).getTimeStamp() >= logTime);
}
}
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 30f23a7..3521955 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -230,6 +230,10 @@
The methods on LogEvent are preferred.
</action>
<!-- FIXES -->
+ <action issue="LOG4J2-3142" dev="ckozak" type="fix" due-to="John Meikle">
+ log4j-1.2-api implements LogEventAdapter.getTimestamp() based on the original event timestamp
+ instead of returning zero.
+ </action>
<action issue="LOG4J2-3083" dev="ckozak" type="fix">
log4j-slf4j-impl and log4j-slf4j18-impl correctly detect the calling class using both LoggerFactory.getLogger
methods as well as LoggerFactory.getILoggerFactory().getLogger.