沙钢智慧能源系统后端代码
houzhongjian
2024-10-09 97edd72e5e6dbb134cedae4b72c95be8c948c5ec
提交 | 用户 | 时间
97edd7 1 <configuration>
H 2     <!-- 引用 Spring Boot 的 logback 基础配置 -->
3     <include resource="org/springframework/boot/logging/logback/defaults.xml" />
4     <!-- 变量 iailab.info.base-package,基础业务包 -->
5     <springProperty scope="context" name="iailab.info.base-package" source="iailab.info.base-package"/>
6     <!-- 格式化输出:%d 表示日期,%X{tid} SkWalking 链路追踪编号,%thread 表示线程名,%-5level:级别从左显示 5 个字符宽度,%msg:日志消息,%n是换行符 -->
7     <property name="PATTERN_DEFAULT" value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} | %highlight(${LOG_LEVEL_PATTERN:-%5p} ${PID:- }) | %boldYellow(%thread [%tid]) %boldGreen(%-40.40logger{39}) | %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
8
9     <!-- 控制台 Appender -->
10     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">     
11         <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
12             <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
13                 <pattern>${PATTERN_DEFAULT}</pattern>
14             </layout>
15         </encoder>
16     </appender>
17
18     <!-- 文件 Appender -->
19     <!-- 参考 Spring Boot 的 file-appender.xml 编写 -->
20     <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
21         <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
22             <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
23                 <pattern>${PATTERN_DEFAULT}</pattern>
24             </layout>
25         </encoder>
26         <!-- 日志文件名 -->
27         <file>${LOG_FILE}</file>
28         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
29             <!-- 滚动后的日志文件名 -->
30             <fileNamePattern>${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz}</fileNamePattern>
31             <!-- 启动服务时,是否清理历史日志,一般不建议清理 -->
32             <cleanHistoryOnStart>${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart>
33             <!-- 日志文件,到达多少容量,进行滚动 -->
34             <maxFileSize>${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}</maxFileSize>
35             <!-- 日志文件的总大小,0 表示不限制 -->
36             <totalSizeCap>${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}</totalSizeCap>
37             <!-- 日志文件的保留天数 -->
38             <maxHistory>${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-30}</maxHistory>
39         </rollingPolicy>
40     </appender>
41     <!-- 异步写入日志,提升性能 -->
42     <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
43         <!-- 不丢失日志。默认的,如果队列的 80% 已满,则会丢弃 TRACT、DEBUG、INFO 级别的日志 -->
44         <discardingThreshold>0</discardingThreshold>
45         <!-- 更改默认的队列的深度,该值会影响性能。默认值为 256 -->
46         <queueSize>256</queueSize>
47         <appender-ref ref="FILE"/>
48     </appender>
49
50     <!-- SkyWalking GRPC 日志收集,实现日志中心。注意:SkyWalking 8.4.0 版本开始支持 -->
51     <appender name="GRPC" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
52         <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
53             <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
54                 <pattern>${PATTERN_DEFAULT}</pattern>
55             </layout>
56         </encoder>
57     </appender>
58
59     <!-- 本地环境 -->
60     <springProfile name="local">
61         <root level="INFO">
62             <appender-ref ref="STDOUT"/>
63             <appender-ref ref="GRPC"/> <!-- 本地环境下,如果不想接入 SkyWalking 日志服务,可以注释掉本行 -->
64             <appender-ref ref="ASYNC"/>  <!-- 本地环境下,如果不想打印日志,可以注释掉本行 -->
65         </root>
66     </springProfile>
67     <!-- 其它环境 -->
68     <springProfile name="dev,test,stage,prod,default">
69         <root level="INFO">
70             <appender-ref ref="STDOUT"/>
71             <appender-ref ref="ASYNC"/>
72             <appender-ref ref="GRPC"/>
73         </root>
74     </springProfile>
75
76 </configuration>