Oleksandr Gavenko created LOGBACK-1374:
------------------------------------------
Summary: Increase timestamp resolution
Key: LOGBACK-1374
URL: https://jira.qos.ch/browse/LOGBACK-1374
Project: logback
Issue Type: New Feature
Components: logback-core
Affects Versions: 1.2.3
Reporter: Oleksandr Gavenko
Assignee: Logback dev list
ILoggingEvent interface assumes that
[getTimeStamp|https://logback.qos.ch/apidocs/src-html/ch/qos/logback/classic/spi/ILoggingEvent.html#line.83]()
is in milliseconds.
Elasticsearch @timestamp resolution is in milliseconds too, see
https://github.com/elastic/elasticsearch/issues/10005
As workaround people store second fraction in separate field in ES.
When sorting by @timestamp in ES events are ordered randomly within
millisecond. In contract writing to file at any precision preserves ordering.
Is it possible to increase timestamp resolution?
With current hardware nanosecond resolution is pretty good.
DETAILS:
We collect log events into Elasticsearch with project that writes timestamp via:
[https://github.com/internetitem/logback-elasticsearch-appender/blob/master/src/main/java/com/internetitem/logback/elasticsearch/AbstractElasticsearchPublisher.java]
protected static String getTimestamp(long timestamp) \{
return DATE_FORMAT.get().format(new Date(timestamp));
}
[https://github.com/internetitem/logback-elasticsearch-appender/blob/master/src/main/java/com/internetitem/logback/elasticsearch/ClassicElasticsearchPublisher.java]
public class ClassicElasticsearchPublisher extends
AbstractElasticsearchPublisher<ILoggingEvent> \{
@Override
protected void serializeCommonFields(JsonGenerator gen, ILoggingEvent
event) throws IOException \{
gen.writeObjectField("@timestamp",
getTimestamp(event.getTimeStamp()));
Only by changing ILoggingEvent or by providing alternative interface it would
be possible to preserve timestamp in better resolution.
--
This message was sent by Atlassian JIRA
(v7.3.1#73012)
_______________________________________________
logback-dev mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-dev