Hello list, I need to get more granular timestamps in my logs.
The question is what is the best way get Log4j to handle sub-millisecond timestamps? A top search result provides this deceptively-simple approach: http://blog.caplin.com/2017/10/13/microsecond-time-stamp-logging-for-mifid-ii/ However, that will provide wrong results, since they're generating the timestamp inside the Converter, which would run in the AsyncLogger thread and in effect log when the event was processed rather than when it actually occurred. The hack I came up with is to implement a custom Clock whose currentTimeMillis() returns nanoseconds since the epoch, and a corresponding Converter plugin that handles nanoseconds in the millisecond field (Hopefully it won't still be around by year 2262 :) It works pretty well for what I'm doing so long as both the custom clock and a correct layout are used, but I imagine it could cause unexpected consequences if some time-related functionality is used (e.g. file rolling). Any suggestions for a cleaner but low-overhead approach? Cheers, Al. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
