Blame view

java110-interface/src/main/resources/logback-prod.xml 6.3 KB
88e030b7   王彪总   init project
1
2
3
  <?xml version="1.0" encoding="UTF-8"?>
  <configuration scan="true" scanPeriod="60 seconds">
  
31d06eef   王彪总   fix(config): 更新配置...
4
5
6
      <property name="LOG_PATH" value="./logs"/>
  
      <!-- ========== 实际 Appender(必须在 AsyncAppender 之前定义) ========== -->
88e030b7   王彪总   init project
7
8
9
10
  
      <!-- 控制台输出 -->
      <appender name="STDOUT_FILE" class="ch.qos.logback.core.ConsoleAppender">
          <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
88e030b7   王彪总   init project
11
12
13
14
              <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
          </encoder>
      </appender>
  
31d06eef   王彪总   fix(config): 更新配置...
15
      <!-- INFO 级别文件日志 -->
88e030b7   王彪总   init project
16
      <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
1d418ca8   王彪总   fix(config): 更新配置...
17
          <immediateFlush>false</immediateFlush>
88e030b7   王彪总   init project
18
          <File>./logs/info.log</File>
31d06eef   王彪总   fix(config): 更新配置...
19
          <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
88e030b7   王彪总   init project
20
              <fileNamePattern>./logs/info-%d{yyyyMMdd}.log.%i</fileNamePattern>
31d06eef   王彪总   fix(config): 更新配置...
21
              <maxFileSize>500MB</maxFileSize>
88e030b7   王彪总   init project
22
              <maxHistory>2</maxHistory>
31d06eef   王彪总   fix(config): 更新配置...
23
              <totalSizeCap>20GB</totalSizeCap>
88e030b7   王彪总   init project
24
          </rollingPolicy>
31d06eef   王彪总   fix(config): 更新配置...
25
26
27
          <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
              <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n</pattern>
          </encoder>
1d418ca8   王彪总   fix(config): 更新配置...
28
29
      </appender>
  
31d06eef   王彪总   fix(config): 更新配置...
30
      <!-- ERROR 级别文件日志 -->
88e030b7   王彪总   init project
31
32
33
34
35
      <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
              <level>ERROR</level>
          </filter>
          <File>./logs/error.log</File>
31d06eef   王彪总   fix(config): 更新配置...
36
37
38
          <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
              <fileNamePattern>./logs/error-%d{yyyyMMdd}.log.%i</fileNamePattern>
              <maxFileSize>500MB</maxFileSize>
88e030b7   王彪总   init project
39
              <maxHistory>2</maxHistory>
31d06eef   王彪总   fix(config): 更新配置...
40
              <totalSizeCap>20GB</totalSizeCap>
88e030b7   王彪总   init project
41
          </rollingPolicy>
31d06eef   王彪总   fix(config): 更新配置...
42
43
44
          <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
              <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n</pattern>
          </encoder>
88e030b7   王彪总   init project
45
46
47
      </appender>
  
      <!-- 请求响应日志 -->
88e030b7   王彪总   init project
48
      <appender name="REQUEST_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
1d418ca8   王彪总   fix(config): 更新配置...
49
          <immediateFlush>false</immediateFlush>
88e030b7   王彪总   init project
50
          <File>./logs/request.log</File>
31d06eef   王彪总   fix(config): 更新配置...
51
          <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
88e030b7   王彪总   init project
52
              <fileNamePattern>./logs/request-%d{yyyyMMdd}.log.%i</fileNamePattern>
31d06eef   王彪总   fix(config): 更新配置...
53
              <maxFileSize>500MB</maxFileSize>
88e030b7   王彪总   init project
54
              <maxHistory>7</maxHistory>
31d06eef   王彪总   fix(config): 更新配置...
55
              <totalSizeCap>20GB</totalSizeCap>
88e030b7   王彪总   init project
56
          </rollingPolicy>
31d06eef   王彪总   fix(config): 更新配置...
57
58
59
          <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
              <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n</pattern>
          </encoder>
1d418ca8   王彪总   fix(config): 更新配置...
60
61
      </appender>
  
31d06eef   王彪总   fix(config): 更新配置...
62
      <!-- API 异常日志 -->
88e030b7   王彪总   init project
63
64
65
66
67
      <appender name="API_ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
              <level>ERROR</level>
          </filter>
          <File>./logs/api-error.log</File>
31d06eef   王彪总   fix(config): 更新配置...
68
          <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
88e030b7   王彪总   init project
69
              <fileNamePattern>./logs/api-error-%d{yyyyMMdd}.log.%i</fileNamePattern>
31d06eef   王彪总   fix(config): 更新配置...
70
              <maxFileSize>500MB</maxFileSize>
88e030b7   王彪总   init project
71
              <maxHistory>7</maxHistory>
31d06eef   王彪总   fix(config): 更新配置...
72
              <totalSizeCap>20GB</totalSizeCap>
88e030b7   王彪总   init project
73
          </rollingPolicy>
31d06eef   王彪总   fix(config): 更新配置...
74
75
76
          <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
              <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n</pattern>
          </encoder>
88e030b7   王彪总   init project
77
78
      </appender>
  
31d06eef   王彪总   fix(config): 更新配置...
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
      <!-- ========== 异步包装 Appender(引用上面已定义的实际 Appender) ========== -->
  
      <appender name="ASYNC_STDOUT" class="ch.qos.logback.classic.AsyncAppender">
          <queueSize>512</queueSize>
          <discardingThreshold>0</discardingThreshold>
          <neverBlock>true</neverBlock>
          <appender-ref ref="STDOUT_FILE"/>
      </appender>
  
      <appender name="ASYNC_INFO" class="ch.qos.logback.classic.AsyncAppender">
          <queueSize>512</queueSize>
          <discardingThreshold>0</discardingThreshold>
          <neverBlock>true</neverBlock>
          <appender-ref ref="INFO_FILE"/>
      </appender>
  
      <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
          <queueSize>256</queueSize>
          <discardingThreshold>0</discardingThreshold>
          <neverBlock>false</neverBlock>
          <appender-ref ref="ERROR_FILE"/>
      </appender>
  
      <appender name="ASYNC_REQUEST" class="ch.qos.logback.classic.AsyncAppender">
          <queueSize>512</queueSize>
          <discardingThreshold>0</discardingThreshold>
          <neverBlock>true</neverBlock>
          <appender-ref ref="REQUEST_FILE"/>
      </appender>
  
      <appender name="ASYNC_API_ERROR" class="ch.qos.logback.classic.AsyncAppender">
          <queueSize>256</queueSize>
          <discardingThreshold>0</discardingThreshold>
          <neverBlock>false</neverBlock>
          <appender-ref ref="API_ERROR_FILE"/>
      </appender>
  
      <!-- Spring 框架日志 -->
88e030b7   王彪总   init project
117
      <logger name="org.springframework" level="ERROR">
1d418ca8   王彪总   fix(config): 更新配置...
118
          <appender-ref ref="ASYNC_STDOUT"/>
88e030b7   王彪总   init project
119
120
      </logger>
  
31d06eef   王彪总   fix(config): 更新配置...
121
      <!-- MyBatis/Druid SQL 日志在生产环境关闭 -->
1d418ca8   王彪总   fix(config): 更新配置...
122
123
124
125
126
      <logger name="com.apache.ibatis" level="ERROR"/>
      <logger name="org.mybatis" level="ERROR"/>
      <logger name="druid.sql.Statement" level="ERROR"/>
      <logger name="druid.sql.ResultSet" level="ERROR"/>
      <logger name="druid.sql.Connection" level="ERROR"/>
88e030b7   王彪总   init project
127
  
31d06eef   王彪总   fix(config): 更新配置...
128
129
      <!-- 业务日志 INFO 级别 -->
      <logger name="com.java110" level="INFO" additivity="false">
1d418ca8   王彪总   fix(config): 更新配置...
130
          <appender-ref ref="ASYNC_STDOUT"/>
88e030b7   王彪总   init project
131
132
      </logger>
  
31d06eef   王彪总   fix(config): 更新配置...
133
      <!-- API 请求/响应/异常日志 -->
88e030b7   王彪总   init project
134
      <logger name="com.java110.api.aop" level="INFO" additivity="false">
1d418ca8   王彪总   fix(config): 更新配置...
135
136
137
138
          <appender-ref ref="ASYNC_STDOUT"/>
          <appender-ref ref="ASYNC_REQUEST"/>
          <appender-ref ref="ASYNC_API_ERROR"/>
          <appender-ref ref="ASYNC_ERROR"/>
88e030b7   王彪总   init project
139
140
      </logger>
  
1d418ca8   王彪总   fix(config): 更新配置...
141
      <logger name="io.shardingsphere" level="ERROR"/>
1d418ca8   王彪总   fix(config): 更新配置...
142
      <logger name="org.thymeleaf" level="ERROR"/>
1d418ca8   王彪总   fix(config): 更新配置...
143
      <logger name="org.apache.kafka" level="ERROR"/>
1d418ca8   王彪总   fix(config): 更新配置...
144
      <logger name="org.quartz" level="ERROR"/>
88e030b7   王彪总   init project
145
146
  
      <root level="INFO">
1d418ca8   王彪总   fix(config): 更新配置...
147
148
149
          <appender-ref ref="ASYNC_STDOUT"/>
          <appender-ref ref="ASYNC_INFO"/>
          <appender-ref ref="ASYNC_ERROR"/>
88e030b7   王彪总   init project
150
151
152
      </root>
  
  </configuration>