Skip to content

Commit 1add4e5

Browse files
committed
When logging under an AsyncAppender timestamps were being reported at the time that the log event was sent, which could be many seconds after when the log event occurred. Now timestamps are extracted from the original log event instead of being calculated when they're sent over the wire.
1 parent 4b98682 commit 1add4e5

File tree

5 files changed

+9
-3
lines changed

5 files changed

+9
-3
lines changed

src/main/java/com/splunk/logging/HttpEventCollectorEventInfo.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public class HttpEventCollectorEventInfo {
3636

3737
/**
3838
* Create a new HttpEventCollectorEventInfo container
39+
* @param timeMsSinceEpoch in milliseconds since "unix epoch"
3940
* @param severity of event
4041
* @param message is an event content
4142
* @param logger_name name of the logger
@@ -45,6 +46,7 @@ public class HttpEventCollectorEventInfo {
4546
* @param marker event marker
4647
*/
4748
public HttpEventCollectorEventInfo(
49+
final long timeMsSinceEpoch,
4850
final String severity,
4951
final String message,
5052
final String logger_name,
@@ -53,7 +55,7 @@ public HttpEventCollectorEventInfo(
5355
final String exception_message,
5456
final Serializable marker
5557
) {
56-
this.time = System.currentTimeMillis() / 1000.0;
58+
this.time = timeMsSinceEpoch / 1000.0;
5759
this.severity = severity;
5860
this.message = message;
5961
this.logger_name = logger_name;

src/main/java/com/splunk/logging/HttpEventCollectorLog4jAppender.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ public void append(final LogEvent event)
233233
{
234234
// if an exception was thrown
235235
this.sender.send(
236+
event.getTimeMillis(),
236237
event.getLevel().toString(),
237238
getLayout().toSerializable(event).toString(),
238239
includeLoggerName ? event.getLoggerName() : null,

src/main/java/com/splunk/logging/HttpEventCollectorLogbackAppender.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ private void sendEvent(ILoggingEvent event) {
145145
MarkerConverter c = new MarkerConverter();
146146
if (this.started) {
147147
this.sender.send(
148+
event.getTimeStamp(),
148149
event.getLevel().toString(),
149150
_layout.doLayout((E) event),
150151
_includeLoggerName ? event.getLoggerName() : null,

src/main/java/com/splunk/logging/HttpEventCollectorLoggingHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ public HttpEventCollectorLoggingHandler() {
223223
@Override
224224
public void publish(LogRecord record) {
225225
this.sender.send(
226+
record.getMillis(),
226227
record.getLevel().toString(),
227228
record.getMessage(),
228229
includeLoggerName ? record.getLoggerName() : null,

src/main/java/com/splunk/logging/HttpEventCollectorSender.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ public void addMiddleware(HttpEventCollectorMiddleware.HttpSenderMiddleware midd
167167
* @param message event text
168168
*/
169169
public synchronized void send(
170+
final long timeMsSinceEpoch,
170171
final String severity,
171172
final String message,
172173
final String logger_name,
@@ -177,7 +178,7 @@ public synchronized void send(
177178
) {
178179
// create event info container and add it to the batch
179180
HttpEventCollectorEventInfo eventInfo =
180-
new HttpEventCollectorEventInfo(severity, message, logger_name, thread_name, properties, exception_message, marker);
181+
new HttpEventCollectorEventInfo(timeMsSinceEpoch, severity, message, logger_name, thread_name, properties, exception_message, marker);
181182
eventsBatch.add(eventInfo);
182183
eventsBatchSize += severity.length() + message.length();
183184
if (eventsBatch.size() >= maxEventsBatchCount || eventsBatchSize > maxEventsBatchSize) {
@@ -190,7 +191,7 @@ public synchronized void send(
190191
* @param message event text
191192
*/
192193
public synchronized void send(final String message) {
193-
send("", message, "", "", null, null, "");
194+
send(System.currentTimeMillis(), "", message, "", "", null, null, "");
194195
}
195196

196197
/**

0 commit comments

Comments
 (0)