日志等级从低到高分别是
- DEGUB
- INFO
- WARN
- ERROR
如下, 是对日志输出等级进行配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
<property name="LOG_PATTERN" value="%date{HH:mm:} [%thread] %-5level %logger{36} - %msg%n" />
<!-- 定义日志存储的路径,不要配置相对路径 -->
<property name="FILE_PATH" value="F:/springBootLogs/course01/demo.%d{yyyy-MM-dd}.%" />
<!-- 控制台输出日志 -->
<appender name="CONSOLE" class="">
<encoder>
<!-- 按照上面配置的LOG_PATTERN来打印日志 -->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--每天生成一个日志文件,保存15天的日志文件。rollingFile是用来切分文件的 -->
<appender name="FILE"
class="">
<rollingPolicy class="">
<fileNamePattern>${FILE_PATH}</fileNamePattern>
<!-- keep 15 days' worth of history -->
<maxHistory>15</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="">
<!-- 日志文件的最大大小 -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- project default level -->
<logger name=".course01" level="WARN" />
<!-- 日志输出级别 -->
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
<root level="WARN">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
<root level="ERROR">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
经过实验, 在对日志输出等级进行配置的时候, 有以下几个性质
- 当其中任意一个等级有文件输出的时候, 无论如何配置, 都会输出文件
- 在配置项目默认日志等级
<logger name=".course01" level="WARN" />
的时候, 会输出该等级以上的所有需要输出的内容。如若这样配置:
<logger name=".course01" level="WARN" />
<root level="ERROR">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
则会在console 和 文件中都写入信息, 但写入的信息的等级只有WARN以上的, 即 WARN, ERROR等级。