使用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
关于博主:评论和私信会在第一时间回复。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!