0ad1a603e55c1af1fc30a31c4a1f0a99d568fbce
logback\346\227\245\345\277\227\351\205\215\347\275\256.md
... | ... | @@ -1,14 +1,14 @@ |
1 | 1 | # logback日志配置 |
2 | 2 | |
3 | -### 1. application-dev.properties 配置文件添加logback配置 |
|
3 | +## 1. application-dev.properties 配置文件添加logback配置 |
|
4 | 4 | |
5 | 5 | `logging.config=classpath:logback-spring.xml |
6 | 6 | ` |
7 | 7 | |
8 | -### 2. 复制 logback-spring.xml 到 /src/main/resources目录 |
|
8 | +## 2. 复制 logback-spring.xml 到 /src/main/resources目录 |
|
9 | 9 | |
10 | 10 | |
11 | -### 3. 输出SQL :修改RelationDBAccessor的日志级别为DEBUG,默认不输出SQL,生产环境不建议输出SQL |
|
11 | +## 3. 输出SQL :修改RelationDBAccessor的日志级别为DEBUG,默认不输出SQL,生产环境不建议输出SQL |
|
12 | 12 | |
13 | 13 | ```xml |
14 | 14 | <logger name="com.sie.snest.engine.db.relationdb.RelationDBAccessor" level="DEBUG" additivity="false"> |
... | ... | @@ -16,7 +16,7 @@ |
16 | 16 | <appender-ref ref="SQL_LOG" /> |
17 | 17 | </logger> |
18 | 18 | ``` |
19 | -### 4. 输出分表SQL日志控制,INFO为打开,ERROR为关闭,生产环境不建议输出SQL |
|
19 | +## 4. 输出分表SQL日志控制,INFO为打开,ERROR为关闭,生产环境不建议输出SQL |
|
20 | 20 | ```xml |
21 | 21 | <!-- 分表SQL日志控制,INFO为打开,ERROR为关闭--> |
22 | 22 | <logger name="ShardingSphere-SQL" level="INFO" additivity="false"> |
... | ... | @@ -180,3 +180,120 @@ logback-spring.xml 配置 |
180 | 180 | ``` |
181 | 181 | |
182 | 182 | |
183 | + |
|
184 | +## 2.生产环境配置SQL异步输出 |
|
185 | + |
|
186 | +```xml |
|
187 | +<?xml version="1.0" encoding="UTF-8"?> |
|
188 | +<configuration scan="true"> |
|
189 | + |
|
190 | + <property name="LOG_BASE" value="logs" /> |
|
191 | + |
|
192 | + <!--控制台日志 --> |
|
193 | + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
|
194 | + <encoder> |
|
195 | + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -%msg%n</pattern> |
|
196 | + </encoder> |
|
197 | + </appender> |
|
198 | + |
|
199 | + <!--普通日志 --> |
|
200 | + <appender name="LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|
201 | + <encoder> |
|
202 | + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -%msg%n</pattern> |
|
203 | + </encoder> |
|
204 | + <file>${LOG_BASE}/root.log</file> |
|
205 | + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
|
206 | + <fileNamePattern>${LOG_BASE}/root.%d{yyyyMMdd}.%i.log</fileNamePattern> |
|
207 | + <maxFileSize>128MB</maxFileSize> |
|
208 | + <maxHistory>60</maxHistory> |
|
209 | + <totalSizeCap>30GB</totalSizeCap> |
|
210 | + </rollingPolicy> |
|
211 | + </appender> |
|
212 | + |
|
213 | + <!--错误日志 --> |
|
214 | + <appender name="ERROR_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|
215 | + <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
|
216 | + <level>ERROR</level> |
|
217 | + <onMatch>ACCEPT</onMatch> |
|
218 | + <onMismatch>DENY</onMismatch> |
|
219 | + </filter> |
|
220 | + <encoder> |
|
221 | + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -%msg%n</pattern> |
|
222 | + </encoder> |
|
223 | + <file>${LOG_BASE}/error.log</file> |
|
224 | + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
|
225 | + <fileNamePattern>${LOG_BASE}/error.%d{yyyyMMdd}.%i.log |
|
226 | + </fileNamePattern> |
|
227 | + <!-- 每天一个日志文件,当天的日志文件超过10MB时,生成新的日志文件,当天的日志文件数量超过totalSizeCap/maxFileSize,日志文件就会被回滚覆盖。 --> |
|
228 | + <maxFileSize>10MB</maxFileSize> |
|
229 | + <maxHistory>30</maxHistory> |
|
230 | + <totalSizeCap>5GB</totalSizeCap> |
|
231 | + </rollingPolicy> |
|
232 | + </appender> |
|
233 | + |
|
234 | + |
|
235 | + |
|
236 | + <!--SQL日志 --> |
|
237 | + <appender name="SQL_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|
238 | + <encoder> |
|
239 | + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -%msg%n</pattern> |
|
240 | + </encoder> |
|
241 | + <file>${LOG_BASE}/sqllogfile.log</file> |
|
242 | + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
|
243 | + <fileNamePattern>${LOG_BASE}/sqllogfile.%d{yyyyMMdd}.%i.log</fileNamePattern> |
|
244 | + <maxFileSize>128MB</maxFileSize> |
|
245 | + <maxHistory>60</maxHistory> |
|
246 | + <totalSizeCap>30GB</totalSizeCap> |
|
247 | + </rollingPolicy> |
|
248 | + </appender> |
|
249 | + |
|
250 | + <!-- SQL异步输出 --> |
|
251 | + <appender name="SQL_ASYNC_LOG" class="ch.qos.logback.classic.AsyncAppender"> |
|
252 | + <discardingThreshold>0</discardingThreshold> |
|
253 | + <queueSize>512</queueSize> |
|
254 | + <appender-ref ref="SQL_LOG" /> |
|
255 | + </appender> |
|
256 | + |
|
257 | + |
|
258 | + |
|
259 | + |
|
260 | + <root level="INFO"> |
|
261 | + <appender-ref ref="STDOUT" /> |
|
262 | + <appender-ref ref="LOG_FILE" /> |
|
263 | + <appender-ref ref="ERROR_LOG" /> |
|
264 | + <appender-ref ref="SQL_ASYNC_LOG" /> |
|
265 | + </root> |
|
266 | + |
|
267 | + |
|
268 | + <logger name="org.hibernate" level="ERROR" /> |
|
269 | + <logger name="io.netty" level="ERROR" /> |
|
270 | + <logger name="org.springframework" level="WARN" /> |
|
271 | + <logger name="org.redisson" level="ERROR" /> |
|
272 | + |
|
273 | + |
|
274 | + <!-- 耗时统计 --> |
|
275 | + <logger name="com.sie.snest.engine.utils.TimeCounter" level="DEBUG"> |
|
276 | + <appender-ref ref="STDOUT" /> |
|
277 | + <appender-ref ref="LOG_FILE" /> |
|
278 | + </logger> |
|
279 | + |
|
280 | + <!-- SQL日志输出到控制台和SQL_LOG文件,additivity=false表示不向root传递打印信息 --> |
|
281 | + <logger name="com.sie.snest.engine.db.relationdb.RelationDBAccessor" level="DEBUG" additivity="false"> |
|
282 | + <appender-ref ref="STDOUT" /> |
|
283 | + <appender-ref ref="SQL_ASYNC_LOG" /> |
|
284 | + </logger> |
|
285 | + |
|
286 | + <!-- 分表SQL日志控制,INFO为打开,ERROR为关闭 --> |
|
287 | + <logger name="ShardingSphere-SQL" level="INFO" additivity="false"> |
|
288 | + <appender-ref ref="STDOUT" /> |
|
289 | + <appender-ref ref="SQL_ASYNC_LOG" /> |
|
290 | + </logger> |
|
291 | + |
|
292 | + |
|
293 | +</configuration> |
|
294 | + |
|
295 | +``` |
|
296 | + |
|
297 | + |
|
298 | + |
|
299 | + |