使日志输出更精确(log4j)

时间:2011-11-22 09:34:44

标签: logging log4j

我的日志输出具有相同的时间戳:

22-11 12:23:23,023 INFO  [org...] TS YYY
22-11 12:23:23,023 INFO  [com...] TS 2
22-11 12:23:23,023 INFO  [com...] TS 3
22-11 12:23:23,023 INFO  [com...] TS 1
22-11 12:23:23,023 INFO  [org...] TS XXX
22-11 12:23:23,023 INFO  [org...] TS YYY
22-11 12:23:23,023 INFO  [com...] TS 2
22-11 12:23:23,023 INFO  [com...] TS 3
22-11 12:23:23,023 INFO  [com...] TS 1
22-11 12:23:23,023 INFO  [org...] TS XXX
22-11 12:23:23,023 INFO  [org...] TS YYY
22-11 12:23:23,023 INFO  [com...] TS 2
22-11 12:23:23,023 INFO  [com...] TS 3
22-11 12:23:23,023 INFO  [com...] TS 1
22-11 12:23:23,023 INFO  [org...] TS XXX

如何配置log4j以显示更精确的时间戳?

2 个答案:

答案 0 :(得分:1)

不,你不能。

Log4j使用标准System.currentTimeMillis(),顾名思义,它只能精确到毫秒。

答案 1 :(得分:0)

我们用于Log4j的转换模式是:

log4j.appender.CONSOLE.layout.ConversionPattern =%d {HH:mm:ss,SSS} [%t]%-5p%C {1}:%m%n

这似乎给了我们正确的时间戳。

如果您的时间戳在使用此类内容之后仍然相同,则很可能您的程序速度非常快。

我建议在一些消息之后暂停1秒钟,以强制程序稍微减速并确保它实际上正确计时。