log4j 中的时间戳问题

Timestamp issue in log4j

我们在使用 log4j 的日志中看到的实际时间是多少。是我们写一些消息的事件时间吗?或者是将消息写入磁盘日志的时间。考虑到系统上有一些负载。

我的回答仅对 log4j 1.2 有效。

日志包含调用 logger.log(..) 的时间,而不是将消息写入磁盘的时间。

为了更好地理解,请查看 log4j 的源代码。所有 logger.log(..) 方法都会创建一个新的 LogRecord 实例。 LogRecord 的构造函数检索时间戳,稍后用于将时间戳写入磁盘。