当前位置: 代码迷 >> 综合 >> Springboot 中 logback.xml 日志分级别打印配置
  详细解决方案

Springboot 中 logback.xml 日志分级别打印配置

热度:7   发布时间:2023-12-15 11:59:55.0

日志级别说明:

【DEBUG】Level指出细粒度信息事件对调试应用程序是非常有帮助的。

【INFO】 level表明 消息在粗粒度级别上突出强调应用程序的运行过程。

【WARN】 level表明会出现潜在错误的情形。

【ERROR 】level指出虽然发生错误事件,但仍然不影响系统的继续运行。

【FATAL】 level指出每个严重的错误事件将会导致应用程序的退出。

其中等级大小为:DEBUG < INFO < WARN < ERROR < FATAL

logback.xml 配置如下(只列出info 和 error 配置,其他等级依葫芦画瓢):

<?xml version="1.0" encoding="UTF-8"?>
<configuration><include resource="org/springframework/boot/logging/logback/base.xml" /><!-- 根据项目名称来命名日志文件名 <springProperty scope="context" name="LOG_NAME" source="spring.application.name" /> --><property name="LOG_HOME" value="logs" /><property name="LOG_BACK" value="back" /><property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{100} - %msg%n" /><!-- INFO 日志输出--><appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_HOME}/info.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><FileNamePattern>${LOG_HOME}/${LOG_BACK}/${LOG_NAME}.%d{yyyy-MM-dd}.%i.log</FileNamePattern><MaxHistory>10</MaxHistory><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>100MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>${pattern}</pattern><charset>UTF-8</charset></encoder></appender><!-- ERROR日志输出--><appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_HOME}/error.log</file><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><FileNamePattern>${LOG_HOME}/${LOG_BACK}/${LOG_NAME}-error.%d{yyyy-MM-dd}.%i.log</FileNamePattern><MaxHistory>10</MaxHistory><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>100MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>${pattern}</pattern><charset>UTF-8</charset></encoder></appender><!-- 打印sql name为dao所在的包--><logger name="com.francis.mapper" level="DEBUG" /><!-- 日志输出级别 --><root level="INFO"><appender-ref ref="INFO" /><appender-ref ref="ERROR" /></root>
</configuration>

部分参数解析

onMatch="ACCEPT"  表示匹配该级别及以上
onMatch="DENY"  表示不匹配该级别及以上
onMatch="NEUTRAL"  表示该级别及以上的,由下一个filter处理,如果当前是最后一个,则表示匹配该级别及以上
onMismatch="ACCEPT"  表示匹配该级别以下
onMismatch="NEUTRAL"  表示该级别及以下的,由下一个filter处理,如果当前是最后一个,则不匹配该级别以下的
onMismatch="DENY"  表示不匹配该级别以下的

MaxHistory:日志最大保留天数