hooyantsing's Blog

P30 logback的过滤器和异步日志

字数统计: 365阅读时长: 1 min
2022/04/24

视频源:黑马程序员java日志框架教程,全面深入学习多种java日志框架

在 P30 的 logback.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
<!--日志拆分和归档压缩的appender-->
<appender name="rollFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志文件保存路径-->
<file>${log_dir}/roll_logback.log</file>
<!--日志消息格式配置-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${pattern}</pattern>
</encoder>
<!--指定拆分规则-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--按照时间和压缩格式声明拆分的文件名-->
<fileNamePattern>${log_dir}/rolling.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<!--按照文件大小拆分-->
<maxFileSize>1MB</maxFileSize>
</rollingPolicy>

<!--日志过滤器级别-->
<fillter class="ch.qos.logback.classic.filter.LevelFilter">
<!--日志过滤规则 level:级别 onMatch:高于这个级别的ACCEPT放行 onMismatch:低于等于这个级别的DENY拦截-->
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</fillter>

</appender>

<!--异步日志:提高性能-->
<appender name="async" class="ch.qos.logback.classic.AsyncAppender">
指定某个具体的 appender
<appender-ref ref="rollFile"/>
</appender>

<!--root logger 配置-->
<root level="ALL">
<appender-ref ref="console"/>
<appender-ref ref="async"/>
</root>
CATALOG