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

做医疗类网站有什么需要审核的阿里巴巴国际站运营

做医疗类网站有什么需要审核的,阿里巴巴国际站运营,广告制作的软件,做微商货源网站赚钱吗文章目录 前言一、准备1. 引入依赖 二、日志配置1. 打印追踪ID2. gRPC 导出 三、完整日志配置四、日志展示1. 前端2. 后端 总结 前言 前面已经完成了请求的链路追踪,这里我们通过SkyWalking来处理分布式日志; 场景描述:我们有三个服务消费者…

文章目录

  • 前言
  • 一、准备
    • 1. 引入依赖
  • 二、日志配置
    • 1. 打印追踪ID
    • 2. gRPC 导出
  • 三、完整日志配置
  • 四、日志展示
    • 1. 前端
    • 2. 后端
  • 总结


前言

前面已经完成了请求的链路追踪,这里我们通过SkyWalking来处理分布式日志;

场景描述:我们有三个服务消费者,提供者和用户服务,三个服务都有自己的日志文件,但是我一个请求会贯穿三个服务,不能说我一个服务的日志文件挨个去找,这太麻烦了,如果有更多的服务呢,这时候代价会更大;

SkyWalking为我们解决了这个问题,每当请求进来的时候会生成一个追踪ID(TID)


一、准备

1. 引入依赖

我们首先引入skywalking整合logback的工具包

<!-- https://mvnrepository.com/artifact/org.apache.skywalking/apm-toolkit-logback-1.x -->
<dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-logback-1.x</artifactId><version>9.3.0</version>
</dependency>    

二、日志配置

以下内容基于logback-spring.xml日志配置文件

1. 打印追踪ID

<property name="CONSOLE_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr([%tid]) %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(%applicationName[%15.15t]){faint} %clr(${LOG_CORRELATION_PATTERN:-}){faint}%clr(%-40.40logger{39}:%L) %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>${CONSOLE_LOG_THRESHOLD}</level></filter><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"><Pattern>${CONSOLE_PATTERN}</Pattern><charset>${CONSOLE_LOG_CHARSET}</charset></layout></encoder>
</appender><root level="DEBUG"><appender-ref ref="CONSOLE"/>
</root>

主要是[%tid]

2. gRPC 导出

<appender name="GRPC-LOG" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender"><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout"><Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%applicationName[%15.15t]] [%thread] %-5level %logger{36} -%msg%n</Pattern></layout></encoder>
</appender><root level="DEBUG"><appender-ref ref="GRPC-LOG"/>
</root>

三、完整日志配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 引入Spring Boot的默认logback配置 --><property name="CONSOLE_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr([%tid]) %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(%applicationName[%15.15t]){faint} %clr(${LOG_CORRELATION_PATTERN:-}){faint}%clr(%-40.40logger{39}:%L) %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/><property name="FILE_PATTERN" value="${FILE_LOG_PATTERN:-%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } %applicationName[%t] ${LOG_CORRELATION_PATTERN:-}%-40.40logger{39}:%L : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/><include resource="org/springframework/boot/logging/logback/defaults.xml"/><!-- 自定义控制台输出模板 --><property name="LOG_HOME" value="../logs/consumer/"/><property name="LOG_FILE" value="consumer"/><property name="LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START" value="false"/><property name="LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE" value="10MB"/><property name="LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP" value="0"/><property name="LOGBACK_ROLLINGPOLICY_MAX_HISTORY" value="7"/><appender name="GRPC-LOG" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender"><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout"><Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%applicationName[%15.15t]] [%thread] %-5level %logger{36} -%msg%n</Pattern></layout></encoder></appender><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>${CONSOLE_LOG_THRESHOLD}</level></filter><encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"><layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"><Pattern>${CONSOLE_PATTERN}</Pattern><charset>${CONSOLE_LOG_CHARSET}</charset></layout></encoder></appender><appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>DEBUG</level></filter><encoder><pattern>${FILE_PATTERN}</pattern><charset>${FILE_LOG_CHARSET}</charset></encoder><file>${LOG_HOME}${LOG_FILE}_debug.log</file><!--大小和时间基于滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_HOME}${LOG_FILE}_debug.%d{yyyy-MM-dd}.%i.gz</fileNamePattern><cleanHistoryOnStart>${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart><maxFileSize>${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}</maxFileSize><totalSizeCap>${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}</totalSizeCap><maxHistory>${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-7}</maxHistory></rollingPolicy></appender><appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>INFO</level></filter><encoder><pattern>${FILE_PATTERN}</pattern><charset>${FILE_LOG_CHARSET}</charset></encoder><file>${LOG_HOME}${LOG_FILE}_info.log</file><!--大小和时间基于滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_HOME}${LOG_FILE}_info.%d{yyyy-MM-dd}.%i.gz</fileNamePattern><cleanHistoryOnStart>${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart><maxFileSize>${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}</maxFileSize><totalSizeCap>${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}</totalSizeCap><maxHistory>${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-7}</maxHistory></rollingPolicy></appender><appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>ERROR</level></filter><encoder><pattern>${FILE_PATTERN}</pattern><charset>${FILE_LOG_CHARSET}</charset></encoder><file>${LOG_HOME}${LOG_FILE}_error.log</file><!--大小和时间基于滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_HOME}${LOG_FILE}_error.%d{yyyy-MM-dd}.%i.gz</fileNamePattern><cleanHistoryOnStart>${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart><maxFileSize>${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}</maxFileSize><totalSizeCap>${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}</totalSizeCap><maxHistory>${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-7}</maxHistory></rollingPolicy></appender><!-- 设置特定包的日志级别 --><logger name="org.springframework" level="INFO"/><logger name="org.hibernate" level="INFO"/><logger name="com.alibaba" level="INFO"/><logger name="io.netty" level="INFO"/><logger name="reactor.netty" level="INFO"/><logger name="com.github.xiaoymin.knife4j.spring.gateway.discover" level="INFO"/><logger name="de.codecentric.boot.admin" level="INFO"/><!-- Root Logger --><root level="DEBUG"><appender-ref ref="GRPC-LOG"/><appender-ref ref="CONSOLE"/><appender-ref ref="DEBUG_FILE"/><appender-ref ref="INFO_FILE"/><appender-ref ref="ERROR_FILE"/></root>
</configuration>

四、日志展示

1. 前端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他地方都有ALL,唯独服务这里是个单选,我们需要根据追踪ID一个服务一个服务的找,如果能直接根据这个追踪ID去找就好了,不过这样也够用了,就是没那么直观。

2. 后端

2024-09-08 20:50:31.453 [TID:a7f970f0b12c411aa2b064304a353602.90.17257998314490001] DEBUG 9752 [consumer-service] [nio-9003-exec-3] o.e.n.c.controller.TestController       :38 : 消费者服务 RestTemplate
2024-09-08 20:50:31.458 [TID:a7f970f0b12c411aa2b064304a353602.90.17257998314490001] DEBUG 3348 [provider-service] [nio-9000-exec-8] o.e.n.p.controller.TestController       :26 : 提供者服务 RestTemplate
2024-09-08 20:50:31.463 [TID:a7f970f0b12c411aa2b064304a353602.90.17257998314490001] DEBUG 2888 [user-service] [nio-9007-exec-1] o.e.user.controller.UserController      :31 : 用户服务 admin

总结

回到顶部

2024已过了大半,回望今年博客数量和质量突飞猛进,感觉学到了很多,也不算虚度吧。

2024-09-08记。

http://www.dinnco.com/news/75887.html

相关文章:

  • wordpress 做企业网站微商怎么引流被别人加
  • 手机可怎么样做网站全自动引流推广软件免费
  • wordpress自动设置文章第一张如何利用seo赚钱
  • 贵州城乡建设部网站首页日照高端网站建设
  • 国外网站网址软文一般发布在哪些平台
  • 湛江优化网站排名搜索引擎优化是什么?
  • 网站二级栏目图片识别 在线百度识图
  • 怎样做微信推广网站吸引人的微信软文
  • 建设网站需要学什么程序短视频培训课程
  • 网站优化软件排名5月疫情第二波爆发
  • 呼市网站设计免费投放广告平台
  • 怎么做好网站开发_设计数据分析工具
  • 网站架构思维导图sem培训班培训多少钱
  • asp.net开发的网站搜索广告
  • 济宁疫情最新情况重庆seo网站推广优化
  • 检测一个网站用什么软件做的方法佛山网络推广培训
  • 帮人做网站赚钱东莞全网营销推广
  • 跟做网站相关的法律自己怎么搭建网站
  • 网站建设需要数学重庆seo推广运营
  • 亦庄建设局网站东莞百度快速排名
  • 温岭做网站公司只需要手机号的广告
  • 有没有做网站的高手友情链接交换源码
  • 做网站论文研究方法怎么写百度一下你就知道百度官网
  • 西安网站制作哪家好河池网站seo
  • 移动应用开发干什么的网站怎么优化关键词排名
  • 只做网站的人员工资外链链接平台
  • 湖滨区建设局网站徐州网络推广服务
  • 网站里的图片是怎么做的镇江seo快速排名
  • 思行做网站网站在线客服系统 免费
  • 建站公司都是如何为建站服务定价的网站建设的意义和目的