问题描述
我们知道,在任何 Java 日志记录框架中,我们都会获取 logger 语句的时间戳,并打印在语句前面的日志文件中。我想了解导出和记录的时间,时间是-写入日志文件的日志语句,还是JVM中执行日志语句的时间。如果 IO 有任何延迟,那么我们可以看到这些时间戳之间的差异。 Log4j/Slf4j 中是否有任何可用的配置来设置它?
解决方法
当您调用 Logger
日志方法之一时,会创建一个 LoggingEvent
。根据 source code,LoggingEvent
的时间戳是在创建事件时设置的。该时间戳是出现在格式化日志消息中的内容。
日志后端中的 I/O 延迟不应影响时间戳。