Skip to content

Commit 3628b96

Browse files
committed
feat: 添加用于 logback 的配置文件
1 parent 7d27d23 commit 3628b96

1 file changed

Lines changed: 124 additions & 0 deletions

File tree

src/main/resources/logback.xml

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<!--configuration
3+
scan 是否定时扫描配置文件变化
4+
scanPeriod 定时间隔
5+
debug 是否开启日志系统内部 debug
6+
-->
7+
<configuration scan="true" scanPeriod="60 seconds" debug="false">
8+
9+
<!--配置参数常量-->
10+
<!--级别:trace<debug<info<warn<error 增加,通常仅需要 debug/info/error-->
11+
<property name="level" value="debug" />
12+
<!--文件保留时间-->
13+
<property name="history" value="30" />
14+
<!--文件存放位置-->
15+
<property name="filePath" value="${user.dir}/logs" />
16+
<!--输出格式-->
17+
<property name="patternWithColor"
18+
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-15thread] %highlight(%-5level) %cyan(%logger{50}) : %msg%n" />
19+
<!--不带色彩的格式用以输出到文件-->
20+
<property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-15thread] %-5level %logger{50} : %msg%n" />
21+
22+
<!--控制台输出日志-->
23+
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
24+
<!--格式-->
25+
<encoder>
26+
<pattern>${patternWithColor}</pattern>
27+
<charset>UTF-8</charset>
28+
</encoder>
29+
</appender>
30+
31+
<!--debug 文件日志-->
32+
<appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
33+
<!--正在记录的日志文件位置-->
34+
<file>${filePath}/debug.now.log</file>
35+
<!--日志记录器的滚动策略-->
36+
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
37+
<!--按日期命名, %i 表示索引-->
38+
<fileNamePattern>${filePath}/debug/debug.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
39+
<!--保留 30 天-->
40+
<maxHistory>${history}</maxHistory>
41+
<!--文件大小超过 10MB,则输出的新文件,索引增加-->
42+
<maxFileSize>10MB</maxFileSize>
43+
</rollingPolicy>
44+
<!--格式-->
45+
<encoder>
46+
<pattern>${pattern}</pattern>
47+
<charset>UTF-8</charset>
48+
</encoder>
49+
<!--只记录 debug-->
50+
<filter class="ch.qos.logback.classic.filter.LevelFilter">
51+
<level>DEBUG</level>
52+
<onMatch>ACCEPT</onMatch>
53+
<onMismatch>DENY</onMismatch>
54+
</filter>
55+
</appender>
56+
57+
<!--info 文件日志-->
58+
<appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
59+
<file>${filePath}/info.now.log</file>
60+
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
61+
<fileNamePattern>${filePath}/info/info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
62+
<maxHistory>${history}</maxHistory>
63+
<maxFileSize>10MB</maxFileSize>
64+
</rollingPolicy>
65+
<encoder>
66+
<pattern>${pattern}</pattern>
67+
<charset>UTF-8</charset>
68+
</encoder>
69+
<filter class="ch.qos.logback.classic.filter.LevelFilter">
70+
<level>INFO</level>
71+
<onMatch>ACCEPT</onMatch>
72+
<onMismatch>DENY</onMismatch>
73+
</filter>
74+
</appender>
75+
76+
<!--error 文件日志-->
77+
<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
78+
<file>${filePath}/error.now.log</file>
79+
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
80+
<fileNamePattern>${filePath}/error/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
81+
<maxHistory>${history}</maxHistory>
82+
<maxFileSize>10MB</maxFileSize>
83+
</rollingPolicy>
84+
<encoder>
85+
<pattern>${pattern}</pattern>
86+
<charset>UTF-8</charset>
87+
</encoder>
88+
<filter class="ch.qos.logback.classic.filter.LevelFilter">
89+
<level>ERROR</level>
90+
<onMatch>ACCEPT</onMatch>
91+
<onMismatch>DENY</onMismatch>
92+
</filter>
93+
</appender>
94+
95+
<!--定义 logger
96+
name 指定要输出日志的包
97+
level 指定等级
98+
additivity 指定是否将 root 的 appender 加入到 logger 中
99+
-->
100+
<logger name="info.cadecode.simple" level="${level}" additivity="true">
101+
<appender-ref ref="errorAppender" />
102+
<appender-ref ref="debugAppender" />
103+
<appender-ref ref="infoAppender" />
104+
</logger>
105+
106+
<!-- SpringFramework 日志-->
107+
<logger name="org.springframework" level="WARN" />
108+
109+
<!-- mybatis 日志 -->
110+
<!-- mybatis 打印 sql
111+
SpringBoot 中只要配置 dao 或 mapper 包即可打印 sql
112+
普通 SSM 项目可能需要以下配置
113+
-->
114+
<logger name="org.apache.ibatis" level="DEBUG" />
115+
<logger name="java.sql" level="DEBUG" />
116+
117+
<!--根 logger
118+
没有定义 logger 的包,使用此 logger
119+
-->
120+
<root level="INFO">
121+
<appender-ref ref="errorAppender" />
122+
<appender-ref ref="consoleAppender" />
123+
</root>
124+
</configuration>

0 commit comments

Comments
 (0)