1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <!-- scan 配置文件如果发生改变,将会被重新加载 scanPeriod 检测间隔时间-->
3+ <configuration scan =" true" scanPeriod =" 60 seconds" debug =" false" >
4+ <contextName >springboot-aop</contextName >
5+ <include resource =" org/springframework/boot/logging/logback/base.xml" />
6+ <!-- 日志存储级别 -->
7+ <springProperty scope =" context" name =" rootlevel" source =" logging.level.root" />
8+ <springProperty scope =" context" name =" busilevel" source =" logging.level.com.xncoding" />
9+ <!-- 日志存储路径 -->
10+ <springProperty scope =" context" name =" logPath" source =" logging.path" />
11+ <!-- 普通日志 -->
12+ <appender name =" INFO_FILE" class =" ch.qos.logback.core.rolling.RollingFileAppender" >
13+ <file >${logPath}/springboot-aop.log</file >
14+ <!-- 循环政策:基于时间创建日志文件 -->
15+ <rollingPolicy class =" ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >
16+ <!-- 日志命名:单个文件大于128MB 按照时间+自增i 生成log文件 -->
17+ <fileNamePattern >${logPath}/springboot-aop-%d{yyyy-MM-dd}.%i.log</fileNamePattern >
18+ <timeBasedFileNamingAndTriggeringPolicy class =" ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" >
19+ <maxFileSize >128MB</maxFileSize >
20+ </timeBasedFileNamingAndTriggeringPolicy >
21+ <!-- 最大保存时间:30天-->
22+ <maxHistory >30</maxHistory >
23+ </rollingPolicy >
24+ <append >true</append >
25+ <encoder class =" ch.qos.logback.classic.encoder.PatternLayoutEncoder" >
26+ <pattern >%d{yyyy-MM-dd HH:mm:ss.SSS} %p ${PID:-} --- [%15thread] %logger:%-3L : %msg%n</pattern >
27+ <charset >utf-8</charset >
28+ </encoder >
29+ <filter class =" ch.qos.logback.classic.filter.LevelFilter" >
30+ <level >info</level >
31+ <onMatch >ACCEPT</onMatch >
32+ <onMismatch >DENY</onMismatch >
33+ </filter >
34+ </appender >
35+ <!-- 错误日志 -->
36+ <appender name =" ERROR_FILE" class =" ch.qos.logback.core.rolling.RollingFileAppender" >
37+ <file >${logPath}/springboot-aop-error.log</file >
38+ <!-- 循环政策:基于时间创建日志文件 -->
39+ <rollingPolicy class =" ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >
40+ <!-- 日志命名:单个文件大于2MB 按照时间+自增i 生成log文件 -->
41+ <fileNamePattern >${logPath}/springboot-aop-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern >
42+ <timeBasedFileNamingAndTriggeringPolicy class =" ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP" >
43+ <maxFileSize >2MB</maxFileSize >
44+ </timeBasedFileNamingAndTriggeringPolicy >
45+ <!-- 最大保存时间:180天-->
46+ <maxHistory >180</maxHistory >
47+ </rollingPolicy >
48+ <append >true</append >
49+ <!-- 日志格式 -->
50+ <encoder class =" ch.qos.logback.classic.encoder.PatternLayoutEncoder" >
51+ <pattern >%d{yyyy-MM-dd HH:mm:ss.SSS} %p ${PID:-} --- [%15thread] %logger:%-3L : %msg%n</pattern >
52+ <charset >utf-8</charset >
53+ </encoder >
54+ <!-- 日志级别过滤器 -->
55+ <filter class =" ch.qos.logback.classic.filter.LevelFilter" >
56+ <!-- 过滤的级别 -->
57+ <level >ERROR</level >
58+ <!-- 匹配时的操作:接收(记录) -->
59+ <onMatch >ACCEPT</onMatch >
60+ <!-- 不匹配时的操作:拒绝(不记录) -->
61+ <onMismatch >DENY</onMismatch >
62+ </filter >
63+ </appender >
64+ <!-- 控制台 -->
65+ <appender name =" STDOUT" class =" ch.qos.logback.core.ConsoleAppender" >
66+ <!-- 日志格式 -->
67+ <encoder >
68+ <pattern >%d{yyyy-MM-dd HH:mm:ss.SSS} %p ${PID:-} --- [%15thread] %logger:%-3L : %msg%n</pattern >
69+ <charset >utf-8</charset >
70+ </encoder >
71+ <!-- 此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
72+ <filter class =" ch.qos.logback.classic.filter.ThresholdFilter" >
73+ <level >DEBUG</level >
74+ </filter >
75+ </appender >
76+ <!-- 屏蔽kafka的警告 -->
77+ <logger name =" org.apache.kafka" level =" ERROR" />
78+ <!-- additivity 避免执行2次 -->
79+ <logger name =" com.xncoding" level =" ${busilevel}" additivity =" false" >
80+ <appender-ref ref =" STDOUT" />
81+ <appender-ref ref =" INFO_FILE" />
82+ <appender-ref ref =" ERROR_FILE" />
83+ </logger >
84+ <root level =" ${rootlevel}" >
85+ <appender-ref ref =" INFO_FILE" />
86+ <appender-ref ref =" ERROR_FILE" />
87+ </root >
88+ </configuration >
0 commit comments