当前位置: 首页 > wzjs >正文

个人网站设计毕业论文总结第三方网络营销平台有哪些

个人网站设计毕业论文总结,第三方网络营销平台有哪些,网站做效果联系方式,聊城集团网站建设公司ELK怎么实现跨服务日志追踪,Trace-Id 具体实现方案及代码_kibana关联其他服务器的日志-CSDN博客 ELKMDC追踪日志 ---- SpringCloud实现传递_elk的mdc-CSDN博客 SpringBoot之HandlerInterceptor拦截器的使用 ——(一)-CSDN博客 在使用ELK&a…

ELK怎么实现跨服务日志追踪,Trace-Id 具体实现方案及代码_kibana关联其他服务器的日志-CSDN博客

ELK+MDC追踪日志 ---- SpringCloud实现传递_elk的mdc-CSDN博客 

SpringBoot之HandlerInterceptor拦截器的使用 ——(一)-CSDN博客

 

在使用ELK(Elasticsearch, Logstash, Kibana)进行日志管理时,通过traceId实现日志跟踪是一种常见的做法。traceId可以帮助我们在分布式系统中追踪请求的完整链路。通过Spring的HandlerInterceptor,我们可以在请求进入时生成traceId,并将其传递到日志中。

实现思路

  1. 生成traceId:在请求进入时生成一个唯一的traceId,并将其存储在MDC(Mapped Diagnostic Context)中。

  2. 传递traceId:在请求处理过程中,确保traceId能够传递到各个组件和日志中。

  3. 清理traceId:在请求处理完成后,清理MDC中的traceId,避免内存泄漏。

代码实现

1. 创建TraceIdInterceptor

首先,我们需要创建一个HandlerInterceptor实现类,用于在请求进入时生成traceId,并在请求完成后清理traceId

java

复制

import org.slf4j.MDC;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.UUID;@Component
public class TraceIdInterceptor implements HandlerInterceptor {private static final String TRACE_ID = "traceId";@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 生成唯一的traceIdString traceId = UUID.randomUUID().toString();// 将traceId放入MDCMDC.put(TRACE_ID, traceId);return true;}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {// 请求完成后清理MDC中的traceIdMDC.remove(TRACE_ID);}
}
2. 注册TraceIdInterceptor

接下来,我们需要将TraceIdInterceptor注册到Spring的拦截器链中。

java

复制

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class WebConfig implements WebMvcConfigurer {@Autowiredprivate TraceIdInterceptor traceIdInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(traceIdInterceptor);}
}
3. 配置日志输出traceId

在日志配置文件中,配置日志输出格式,确保traceId能够被打印出来。以logback.xml为例:

xml

复制

<configuration><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - [%X{traceId}] %msg%n</pattern></encoder></appender><root level="info"><appender-ref ref="STDOUT" /></root>
</configuration>

运行 HTML

在这个配置中,%X{traceId}会从MDC中获取traceId并输出到日志中。

4. 在代码中使用traceId

在业务代码中,你可以通过MDC获取traceId,并将其传递到其他服务或日志中。

java

复制

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class MyController {private static final Logger logger = LoggerFactory.getLogger(MyController.class);@GetMapping("/test")public String test() {// 获取traceIdString traceId = MDC.get("traceId");logger.info("Processing request with traceId: {}", traceId);return "Hello, World!";}
}

总结

通过上述步骤,我们实现了一个简单的traceId日志跟踪系统。HandlerInterceptor在请求进入时生成traceId并将其放入MDC,在请求完成后清理MDC。日志配置确保traceId能够被输出到日志中,从而方便我们在ELK中追踪请求的完整链路。

扩展

  • 分布式系统中的traceId传递:在微服务架构中,traceId需要在服务之间传递。可以通过HTTP头、消息队列等方式传递traceId

  • 异步任务中的traceId:在异步任务中,traceId可能会丢失。可以通过自定义线程池或使用TaskDecorator来确保traceId在异步任务中传递。

通过这些扩展,你可以在更复杂的系统中实现全链路的日志跟踪。

 

http://www.dtcms.com/wzjs/492417.html

相关文章:

  • 上海市城乡建设和交通委员会网站可以免费推广的网站
  • 淮安品牌网站建设磁力吧最佳搜索引擎
  • 郑州网站建设网络推广郑州千锋教育培训机构怎么样
  • iis不能新建网站附近有没有学电脑培训的
  • 福田蒙派克s广州网站优化价格
  • 做模具行业的网站百度搜索排名怎么做
  • 如何建立公司邮箱关键词搜索排名优化
  • 如何做自己网站的访问记录seo服务
  • 绵阳网站建设维护seo网站推广seo
  • wordpress通过标题调用相关文章青岛自动seo
  • 龙港做网页网站制作seo策略分析
  • 网站建网站建设seo帮帮您百度收录比较好的网站
  • 网站开发的性能测试文档如何写深圳网站提升排名
  • 济南做网站的公司上海seo优化外包公司
  • 济南做网站建设全国疫情高峰感染进度
  • 做网站优化选阿里巴巴还是百度网络seo关键词优化技巧
  • 做导购网站用什么样的主机手机百度网页版入口
  • wordpress宝塔伪静态哪家公司做seo
  • 中国人可以做的c2c网站抖音账号权重查询
  • 国外素材设计欣赏网站让百度收录自己的网站
  • 网站开发项目的前端后端数据库灵感关键词生成器
  • 2017两学一做网站seo入门免费教程
  • 织梦网站会员功能网上推广赚钱项目
  • 广州市建设工程项目代建局网站销售课程视频免费
  • wordpress排名怎样大连百度seo
  • 珠海网站制作推广湖北搜索引擎优化
  • 国外政府网站设计影视剪辑培训机构排名
  • 网站开发论文近三年的参考文献百度163黄页关键词挖掘
  • 网站开发和app开发哪个难网站优化排名网站
  • 淮安企业网站建设关键词查询工具免费