You need to enable JavaScript to run this app. Spring Boot日志中缺失应用名称,是什么原因导致该问题?
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot日志中缺失应用名称,是什么原因导致该问题?

Spring Boot日志缺失应用名称解决方案

你日志中[my-service-id]字段是链路追踪组件注入的服务名,并非Spring Boot原生默认日志字段,缺失该字段一般有三类原因,对应解决方法如下:

  • 未引入链路追踪依赖
    Spring Boot 2.x版本需引入Spring Cloud Sleuth依赖:
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-sleuth</artifactId>
    </dependency>
    
    Spring Boot 3.x及以上版本Sleuth已弃用,需引入Micrometer Tracing依赖:
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-tracing-bridge-brave</artifactId>
    </dependency>
    
  • 未配置应用服务名
    需在配置文件中显式声明服务名,application.yml配置示例:
    spring:
      application:
        name: my-service-id
    
    application.properties配置示例:
    spring.application.name=my-service-id
    
  • 自定义日志格式未包含服务名字段
    如果你手动修改过日志输出pattern,需要在pattern中补充MDC变量占位符才能读取服务名,参考日志pattern配置:
    %d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%X{spring.application.name:}] %pid --- [%t] %-40.40logger{39} : %m%n%wEx
    
    其中%X{spring.application.name:}用于读取MDC上下文存储的服务名,冒号后为取值失败时的默认空值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 19:45:03