xm
2024-06-14 722af26bc6fec32bb289b1df51a9016a4935610f
提交 | 用户 | 时间
722af2 1 <?xml version="1.0" encoding="UTF-8"?>
X 2 <configuration>
3     <property name="log.path" value="./logs"/>
4     <property name="console.log.pattern"
5               value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n"/>
6     <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"/>
7
8     <!-- 控制台输出 -->
9     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
10         <encoder>
11             <pattern>${console.log.pattern}</pattern>
12             <charset>utf-8</charset>
13         </encoder>
14     </appender>
15
16     <!-- 控制台输出 -->
17     <appender name="file_console" class="ch.qos.logback.core.rolling.RollingFileAppender">
18         <file>${log.path}/sys-console.log</file>
19         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
20             <!-- 日志文件名格式 -->
21             <fileNamePattern>${log.path}/sys-console.%d{yyyy-MM-dd}.log</fileNamePattern>
22             <!-- 日志最大 1天 -->
23             <maxHistory>1</maxHistory>
24         </rollingPolicy>
25         <encoder>
26             <pattern>${log.pattern}</pattern>
27             <charset>utf-8</charset>
28         </encoder>
29         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
30             <!-- 过滤的级别 -->
31             <level>INFO</level>
32         </filter>
33     </appender>
34
35     <!-- 系统日志输出 -->
36     <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
37         <file>${log.path}/sys-info.log</file>
38         <!-- 循环政策:基于时间创建日志文件 -->
39         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
40             <!-- 日志文件名格式 -->
41             <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
42             <!-- 日志最大的历史 60天 -->
43             <maxHistory>60</maxHistory>
44         </rollingPolicy>
45         <encoder>
46             <pattern>${log.pattern}</pattern>
47         </encoder>
48         <filter class="ch.qos.logback.classic.filter.LevelFilter">
49             <!-- 过滤的级别 -->
50             <level>INFO</level>
51             <!-- 匹配时的操作:接收(记录) -->
52             <onMatch>ACCEPT</onMatch>
53             <!-- 不匹配时的操作:拒绝(不记录) -->
54             <onMismatch>DENY</onMismatch>
55         </filter>
56     </appender>
57
58     <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
59         <file>${log.path}/sys-error.log</file>
60         <!-- 循环政策:基于时间创建日志文件 -->
61         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
62             <!-- 日志文件名格式 -->
63             <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
64             <!-- 日志最大的历史 60天 -->
65             <maxHistory>60</maxHistory>
66         </rollingPolicy>
67         <encoder>
68             <pattern>${log.pattern}</pattern>
69         </encoder>
70         <filter class="ch.qos.logback.classic.filter.LevelFilter">
71             <!-- 过滤的级别 -->
72             <level>ERROR</level>
73             <!-- 匹配时的操作:接收(记录) -->
74             <onMatch>ACCEPT</onMatch>
75             <!-- 不匹配时的操作:拒绝(不记录) -->
76             <onMismatch>DENY</onMismatch>
77         </filter>
78     </appender>
79
80     <!-- info异步输出 -->
81     <appender name="async_info" class="ch.qos.logback.classic.AsyncAppender">
82         <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
83         <discardingThreshold>0</discardingThreshold>
84         <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
85         <queueSize>512</queueSize>
86         <!-- 添加附加的appender,最多只能添加一个 -->
87         <appender-ref ref="file_info"/>
88     </appender>
89
90     <!-- error异步输出 -->
91     <appender name="async_error" class="ch.qos.logback.classic.AsyncAppender">
92         <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
93         <discardingThreshold>0</discardingThreshold>
94         <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
95         <queueSize>512</queueSize>
96         <!-- 添加附加的appender,最多只能添加一个 -->
97         <appender-ref ref="file_error"/>
98     </appender>
99
100     <!-- 整合 skywalking 控制台输出 tid -->
101 <!--    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">-->
102 <!--        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">-->
103 <!--            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">-->
104 <!--                <pattern>[%tid] ${console.log.pattern}</pattern>-->
105 <!--            </layout>-->
106 <!--            <charset>utf-8</charset>-->
107 <!--        </encoder>-->
108 <!--    </appender>-->
109
110     <!-- 整合 skywalking 推送采集日志 -->
111 <!--    <appender name="sky_log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">-->
112 <!--        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">-->
113 <!--            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">-->
114 <!--                <pattern>[%tid] ${console.log.pattern}</pattern>-->
115 <!--            </layout>-->
116 <!--            <charset>utf-8</charset>-->
117 <!--        </encoder>-->
118 <!--    </appender>-->
119
120     <!--系统操作日志-->
121     <root level="info">
122         <appender-ref ref="console" />
123         <appender-ref ref="async_info" />
124         <appender-ref ref="async_error" />
125         <appender-ref ref="file_console" />
126 <!--        <appender-ref ref="sky_log"/>-->
127     </root>
128
129 </configuration>