使用log4j2打印日志的配置

我们使用log4j2打印日志,其基本配置如下:

    * 打印文件defalut.log,只包含info及其以上级别的日志,包含error日志,并且按日进行文件创建。

    * 打印error文件,只包含error级别的日志,并且按日进行文件创建。

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!--status 是否记录log4j2本身的event信息默认OFF print level:TRACE < DEBUG < INFO <WARN < ERROR < FATAL
 3     monitorInterval 300秒检查一下配置,如果有变化不需要重启服务,自动更新-->
 4 <Configuration status="INFO" monitorInterval="300">
 5     <Properties>
 6         <!--自定义指定路径-->
 7         <Property name="LOG_HOME">/mnt/logs/custom-output</Property>
 8         <Property name="PATTERN_FORMAT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{X-B3-SpanId}] [%X{X-B3-TraceId}] [%level] %logger{50}:%msg%n</Property>
 9     </Properties>
10 
11     <Appenders>
12         <!--输出到控制台-->
13         <Console name="Console" target="SYSTEM_OUT">
14             <PatternLayout charset="UTF-8" pattern="${PATTERN_FORMAT}"/>
15         </Console>
16 
17         <!-- error日志文件 -->
18         <RollingRandomAccessFile name="RollingFileError"
19                                    fileName="${LOG_HOME}/error.log"
20                                    filePattern="${LOG_HOME}/error-%d{yyyy-MM-dd}.log">
21             <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
22             <PatternLayout pattern="${PATTERN_FORMAT}"/>
23             <Policies>
24                 <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
25                 <SizeBasedTriggeringPolicy size="100 MB"/>
26             </Policies>
27             <DefaultRolloverStrategy max="20"/>
28         </RollingRandomAccessFile>
29 
30         <!--循环输出到文件 fileName:当前日志存储路径 filePattern 历史日志存储路径-->
31         <RollingRandomAccessFile name="DefaultRollingFile"
32                                  fileName="${LOG_HOME}/default.log"
33                                  filePattern="${LOG_HOME}/default-%d{yyyy-MM-dd}.log">
34             <!--<Filters>
35                 <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
36             </Filters>-->
37 
38             <PatternLayout pattern="${PATTERN_FORMAT}"/>
39 
40             <Policies>
41                 <!--这里的1的单位是filePattern里面的%d{yyyy-MM-dd HH-mm}-%i.log 最小的单位mm表示分钟-->
42                 <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
43                 <!--日志文件大小-->
44                 <SizeBasedTriggeringPolicy size="200MB"/>
45             </Policies>
46             <!--最多保留文件数-->
47             <DefaultRolloverStrategy max="20"/>
48         </RollingRandomAccessFile>
49 
50     </Appenders>
51 
52     <Loggers>
53         <!--
54          -->
55         <AsyncLogger name="com.baiwang.cloud" includeLocation="false" additivity="false">
56             <AppenderRef ref="Console"/>
57             <AppenderRef ref="DefaultRollingFile"/>
58             <AppenderRef ref="RollingFileError"/>
59         </AsyncLogger>
60 
61         <AsyncLogger name="org.springframework" includeLocation="false" additivity="false">
62             <AppenderRef ref="Console"/>
63             <AppenderRef ref="DefaultRollingFile"/>
64             <AppenderRef ref="RollingFileError"/>
65         </AsyncLogger>
66 
67         <AsyncLogger name="org.mybatis" includeLocation="false" additivity="false">
68             <AppenderRef ref="Console"/>
69             <AppenderRef ref="DefaultRollingFile"/>
70             <AppenderRef ref="RollingFileError"/>
71         </AsyncLogger>
72 
73 
74         <AsyncRoot level="info">
75             <AppenderRef ref="Console"/>
76             <AppenderRef ref="DefaultRollingFile"/>
77         </AsyncRoot>
78 
79     </Loggers>
80 </Configuration>

如果对您有帮助,您的鼓励是对作者汗水最大的肯定~

____________________________特此,勉励____________________________
本文作者cheng2839
本文链接https://www.cnblogs.com/cheng2839
关于博主:评论和私信会在第一时间回复。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
原文地址:https://www.cnblogs.com/cheng2839/p/12606140.html