<?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="30">
<!--先定义所有的appender -->
<appenders>
<!--控制台输出配置 -->
<console name="logConsole" target="SYSTEM_OUT">
<!--输出日志的格式 -->
<PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%p] [demo] %m%n"/>
</console>
<!-- 文件输出配置 -->
<RollingFile name="logFileDebug"
fileName="logs/demo_debug.log"
filePattern="logs/demo_debug-%d{yyyy-MM-dd}.log">
<Filters>
<ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
</Filters>
<PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%p] [demo] %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
</RollingFile>
<RollingFile name="logFileInfo"
fileName="logs/demo_info.log"
filePattern="logs/demo_info-%d{yyyy-MM-dd}.log">
<Filters>
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%p] [demo] %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
</RollingFile>
<RollingFile name="logFileError"
fileName="logs/demo_error.log"
filePattern="logs/demo_error-%d{yyyy-MM-dd}.log">
<Filters>
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%p] [demo] %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
</RollingFile>
</appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
<loggers>
<root level="info">
<appender-ref ref="logConsole"/>
<appender-ref ref="logFileDebug"/>
<appender-ref ref="logFileInfo"/>
<appender-ref ref="logFileError"/>
</root>
<!--指定具体的包记录的日志级别 -->
<logger name="org.springframework" level="warn"></logger>
<logger name="com.example.demo" level="debug"></logger>
</loggers>
</configuration>