Spring Boot 通过Filter添加logback traceId

编程教程 > Java > Spring (19) 2024-11-27 15:43:14

Spring Boot 通过Filter添加logback traceId

@Slf4j
@Component
public class TraceIdFilter extends OncePerRequestFilter implements Ordered {
@Override
public int getOrder() {
return Ordered.HIGHEST_PRECEDENCE;
}

@Override
protected void doFilterInternal(@Nonnull HttpServletRequest request,@Nonnull HttpServletResponse response,@Nonnull FilterChain filterChain) throws ServletException, IOException {
try {
String traceId = MDCUtils.getOrGenerateTraceId(request);
MDCUtils.setTraceId(traceId);
response.setHeader(MDCUtils.TRACE_ID_KEY, traceId);
} catch (Exception e) {
log.error("设置traceId出现异常", e);
}
filterChain.doFilter(request, response);
MDC.clear();
}
}

logback 配置点:

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [${log.serverName}-${log.env}][traceId-%X{traceId:-}][spanId-%X{spanId:-}] %-5level %logger{20} - %msg%n</pattern>

关键配置:[traceId-%X{traceId:-}] 

 

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Spring Boot 通过Filter添加logback traceId@Slf4j@Componentpublic class TraceIdFilter
traceId链路追踪在日常业务流程分析、 性能分析、Bug 处理都极为重要。这两天整理下相关的知识点做一个梳理。分为上下两篇。。目录增加 logback 记录日志使用
引言    通过之前spring boot mybatis 整合的讲解: spring boot mybaties整合  (spring boot mybaties 整合 基于Java注解方式写...
Spring Boot 2.0,Spring框架的Spring Boot 中的Spring Boot Actuator变化讲解。并且了解如何在Spring Boot 2.0中使用Actuator...
spring boot 1.5整合redis实现spring的缓存框架,spring boot,redis
Spring Boot 2.0 绑定properties属性资源文件 Spring Boot 2.0 读取properties配置文件值 Spring Boot 2.0获取properties配...
spring boot入门,spring boot是一个崭新的spring框架分支项目,本文讲解其属性配置相关
spring boot是一个崭新的spring框架分支项目,本文讲解基本的数据库配置
spring boot又一个spring框架的经典项目,本文讲解spring boot入门的环境配置以及第一个项目,Spring Boot 入门教程
spring boot mybatis 整合使用讲解介绍,spring boot与MyBatis的使用讲解介绍。spring boot mybatis xml mapper方式的入门和通过一个简...
spring boot 入门之整合spring session实现session共享。一直以来Java编程中web项目中的session共享问题都是一个很难解决的问题。接下来将讲解通过sprin...
Spring Boot 2.0 Redis整合,通过spring boot 2.0整合Redis作为spring缓存框架的实现。
Spring Boot validation整合hibernate validator实现数据验证,Spring Boot validation使用说明,Spring Boot validat...
spring boot 入门之spring session实现restful apis。通过spring boot或者spring mvc整合spring session的方式来实现sessio...
spring boot 导入本地jar包spring boot maven 打war包时候导入本地jar包