Fork me on GitHub

SpringBoot 设置logback输出日志

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <configuration scan="true" scanPeriod="60 seconds">
 3     <!-- 彩色日志 -->
 4     <!-- 彩色日志依赖的渲染类 -->
 5     <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
 6     <conversionRule conversionWord="wex"
 7                     converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
 8     <conversionRule conversionWord="wEx"
 9                     converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
10     <!-- 彩色日志格式 -->
11     <property name="CONSOLE_LOG_PATTERN"
12               value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
13 
14     <contextName>logback</contextName>
15 
16     <!--定义日志文件的存储地址 -->
17     <property name="LOG_HOME" value="logs"/>
18 
19     <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
20         <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
21         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
22             <level>DEBUG</level>
23         </filter>
24         <!--encoder 默认配置为PatternLayoutEncoder-->
25         <encoder>
26             <pattern>${CONSOLE_LOG_PATTERN}</pattern>
27             <charset>utf-8</charset>
28         </encoder>
29     </appender>
30 
31     <appender name="RollingFile"
32               class="ch.qos.logback.core.rolling.RollingFileAppender">
33         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
34             <level>DEBUG</level>
35         </filter>
36         <!-- 可让每天产生一个日志文件,最多 180 个,自动回滚 -->
37         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
38             <fileNamePattern>${LOG_HOME}/%d{yyyy-MM,aux}/knowledgebase-%d{yyyy-MM-dd}.log
39             </fileNamePattern>
40             <!-- keep 15 days' worth of history capped at 10GB total size -->
41             <maxHistory>15</maxHistory>
42             <totalSizeCap>10GB</totalSizeCap>
43         </rollingPolicy>
44         <!-- 日志文件的格式 -->
45         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
46             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%file:%line][%thread] - %msg%n</pattern>
47             <charset>utf-8</charset>
48         </encoder>
49     </appender>
50 
51     <appender name="AsyncRollingFile" class="ch.qos.logback.classic.AsyncAppender">
52         <appender-ref ref="RollingFile"/>
53         <includeCallerData>true</includeCallerData>
54     </appender>
55 
56     <!-- 输出到控制台和文件,可定义更多的 Appender -->
57     <root level="INFO">
58         <appender-ref ref="Console"/>
59         <appender-ref ref="AsyncRollingFile"/>
60     </root>
61 
62     <!-- 下面配置一些第三方包的日志过滤级别,用于避免刷屏 -->
63     <logger name="org.mybatis" level="INFO"/>
64     <logger name="org.springframework" level="WARN"/>
65     <logger name="org.apache" level="WARN"/>
66 <!--    &lt;!&ndash;如果需要打印SQL,可以把下面的级别设置为DEBUG &ndash;&gt;-->
67 <!--    <logger name="com.heeexy.example.dao" level="DEBUG"/>-->
68 
69 </configuration>

 

posted @ 2020-02-26 09:47  Aiden郭祥跃  阅读(745)  评论(0编辑  收藏  举报
";