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 <[email protected]>
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.