SpringBoot:开启logback默认日志组件

SpringBoot:开启logback默认日志组件

application.yml配置

1
2
3
4
5
6
#输出日志文件,默认不输出
logging:
file: /SpringBootLog.txt
#修改日志级别,默认为INFO
level:
root: DEBUG

在resources下添加logback-spring.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- appender是配置输出终端,ConsoleAppender是控制台,name是自定义名 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- 配置日志格式,这是一个比较通用的格式 -->
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>

<!-- 输出终端是滚动文件 -->
<appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 基于时间滚动,就是每天的日志输出到不同的文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 输出日志的目录文件名,window中默认分区为当前程序的硬盘分区,%d{yyyy-MM-dd}是当前日期 -->
<fileNamePattern>/log/warn/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 最大保存99个文件,超出的历史文件会被删除 -->
<maxHistory>99</maxHistory>
</rollingPolicy>
<!-- 按照日志级别进行过滤 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 只收集WARN级别的日志,其他高级别和低级别的日志都放弃 -->
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>

<!-- 除了filter,其他 配置和上面一样, 只是name和文件路径不同-->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/log/error/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>99</maxHistory>
</rollingPolicy>
<!-- 阈值过滤器 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<!-- 收集ERROR及ERROR以上级别的日志 -->
<level>ERROR</level>
</filter>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>

<!-- root是根日志打印器,只有一个,负责整个系统的日志输出 -->
<root level="INFO">
<!-- 将上面三个输出终端配置到根打印器,将对整个系统 生效。 -->
<appender-ref ref="STDOUT" />
<appender-ref ref="WARN" />
<appender-ref ref="ERROR" />
</root>

<!-- logger是root的子打印器,可以有多个,输出name配置的包中的日志。 -->
<!-- hello.dao是我的mybatis映射dao的包名,设置为debug可以打印mybatis的sql语句 -->
<logger name="com.fufu.mapper" level="DEBUG" />
</configuration>

这个配置分别打印warn和error,可以有效定位问题。

源码:https://github.com/qq1028951741/springbootdemo or 右上角github进去,springbootdemo项目,如果对您有帮助,麻烦点下star,谢谢


人生两苦:想要却不得,拥有却失去。 –褚禄山
珍惜当下,与君共勉~


本文标题:SpringBoot:开启logback默认日志组件

文章作者:fufua

发布时间:2018年11月27日 - 10:18:13

最后更新:2018年11月26日 - 20:57:31

原始链接:https://qq1028951741.github.io/2018/11/27/SpringBoot:开启logback默认日志组件/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

this is end, thank you for reading