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
logback-dev@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-dev

Reply via email to