我的日志输出具有相同的时间戳:
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以显示更精确的时间戳?
答案 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秒钟,以强制程序稍微减速并确保它实际上正确计时。