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

SpringBoot日志时间戳如何输出到微秒/纳秒级?

SpringBoot日志输出微秒/纳秒级时间戳解决方案

问题根源分析

你之前的配置存在两处关键错误:

  1. 日期格式中月份用了小写mm(代表分钟),正确应为大写MM;
  2. 微秒/纳秒的格式写法不符合Logback规范,逗号分隔的语法无效,且DEFAULT_NANOS并非Logback预定义的日期模式。

SpringBoot默认集成Logback框架,而Logback 1.2.0+(SpringBoot 2.x及以上版本默认集成)支持基于java.time的日期格式化,可直接通过指定格式输出微秒/纳秒精度。

正确配置方式

方式1:直接在application.properties/application.yml中配置

纳秒精度(9位小数)

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSSSSSSSS} - %msg%n

微秒精度(6位小数)

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSSSSS} - %msg%n

也可使用预定义的ISO格式(包含纳秒)

logging.pattern.console=%d{ISO_INSTANT} - %msg%n

方式2:自定义Logback配置文件(推荐,避免配置冲突)

创建src/main/resources/logback-spring.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 这里可替换为你需要的微秒/纳秒格式 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSSSSSSSS} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

验证

启动SpringBoot应用后,日志输出的时间戳会显示为类似2024-05-20 14:30:45.123456789(纳秒)或2024-05-20 14:30:45.123456(微秒)的格式。

内容的提问来源于stack exchange,提问作者Himanshu Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:05:32