<?xml version="1.0" encoding="UTF-8"?> <!--日志級別以及優先級排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--Configuration后面的status,這個用於設置log4j2自身內部的信息輸出,可以不設置,當設置成trace時,你會看到log4j2內部各種詳細輸出--> <!--monitorInterval:Log4j能夠自動檢測修改配置 文件和重新配置本身,設置間隔秒數--> <Configuration status="WARN" monitorInterval="500"> <!--定義日志儲存文件目錄--> <properties> <property name="LOG_HOME">logs</property> </properties> <Appenders> <!--控制台輸出所有日志--> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> </Console> <!--Info級別日志輸出--> <RollingRandomAccessFile name="InfoFile" fileName="${LOG_HOME}/info/info.log" filePattern="${LOG_HOME}/info-%d{yyyy-MM-dd}-%i.log"> <Filters> <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10 MB" /> </Policies> <!-- DefaultRolloverStrategy屬性如不設置,則默認為最多同一文件夾下7個文件,這里設置了20 --> <DefaultRolloverStrategy max="20" /> </RollingRandomAccessFile> <!--warn級別日志輸出--> <RollingRandomAccessFile name="WarnFile" fileName="${LOG_HOME}/warn/warn.log" filePattern="${LOG_HOME}/warn-%d{yyyy-MM-dd}-%i.log"> <Filters> <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/> <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/> </Filters> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10 MB" /> </Policies> <DefaultRolloverStrategy max="20" /> </RollingRandomAccessFile> <!--Error級別日志輸出--> <RollingRandomAccessFile name="ErrorFile" fileName="${LOG_HOME}/error/error.log" filePattern="${LOG_HOME}/error-%d{yyyy-MM-dd}-%i.log"> <Filters> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10 MB" /> </Policies> <DefaultRolloverStrategy max="20" /> </RollingRandomAccessFile> </Appenders> <!--然后定義logger,只有定義了logger並引入的appender,appender才會生效--> <Loggers> <!--過濾掉spring的一些無用的DEBUG信息--> <logger name="org.springframework" level="INFO"></logger> <Root level="Debug"> <AppenderRef ref="Console" /> <AppenderRef ref="InfoFile" /> <AppenderRef ref="WarnFile" /> <AppenderRef ref="ErrorFile" /> </Root> </Loggers> </Configuration>
PS:以上是xml配置全文件。可完全復制粘貼替換xml內容。
其它資料:https://www.cnblogs.com/hlhdidi/p/6749572.html
https://www.jianshu.com/p/570b406bddcd