我們使用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>
如果對您有幫助,您的鼓勵是對作者汗水最大的肯定~