You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Log4j2如何获取真正具备纳秒精度的时间戳?

需检查的配置项如下:

  • 首先检查PatternLayout的时间格式配置:默认%d、%d{ISO8601}等格式仅输出3位毫秒精度,要显示更高精度必须手动指定小数位长度:需要微秒级精度配置为%d{yyyy-MM-dd HH:mm:ss.SSSSSS},需要纳秒级精度配置为%d{yyyy-MM-dd HH:mm:ss.SSSSSSSSS},超出平台实际精度的位数会自动补0。
  • 确认你使用的Log4j2版本不低于2.11:PreciseClock接口是2.11版本才新增的,更低版本的Log4j2会忽略该接口的实现,仅调用currentTimeMillis()方法获取毫秒级时间。
  • 确认log4j2.component.properties文件放置在类路径根目录下,且log4j2.clock配置的全限定名与你实现的NanoSecondClock完全一致,无拼写、大小写、包路径错误。
  • 若你使用了异步日志特性,需要额外确认没有开启log4j2.clock.fixed等强制使用固定时钟的配置,这类配置会覆盖自定义时钟的逻辑。
  • 若你的项目基于Spring Boot等框架,框架默认的日志配置可能会覆盖自定义的component.properties配置,你可以尝试将log4j2.clock作为启动系统属性传入,比如java -Dlog4j2.clock=my.package.NanoSecondClock -jar your-app.jar,优先级更高,确保配置生效。

内容的提问来源于stack exchange,提问作者Karsten Spang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:06:02