spring-boot 使用logback-spring.xml 日志分级 和 输出 异常堆栈信息 到 日志文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </layout>
    </appender>
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
        </filter>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--&lt;!&ndash;路径&ndash;&gt;-->
            <fileNamePattern>%d.info.log</fileNamePattern>
        </rollingPolicy>
    </appender>
    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMismatch>DENY</onMismatch>
            <onMatch>ACCEPT</onMatch>
        </filter>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--&lt;!&ndash;路径&ndash;&gt;-->
            <fileNamePattern>%d.err.log</fileNamePattern>
        </rollingPolicy>
    </appender>
    <root level="info">
        <appender-ref ref="fileInfoLog" />
        <appender-ref ref="consoleLog" />
        <appender-ref ref="fileErrorLog" />
    </root>
</configuration>

注意点:

<level>ERROR</level>
<onMismatch>DENY</onMismatch>
<onMatch>ACCEPT</onMatch>

意思是:匹配 error的等级 则 输出  不匹配则拒绝

使用的日志工具:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOGGER = LoggerFactory.getLogger("MyGlobalExceptionHandler");

打印异常堆栈信息使用下述工具:

import org.apache.commons.lang.exception.ExceptionUtils;
LOGGER.error(ExceptionUtils.getFullStackTrace(e));

over

猜你喜欢

转载自blog.csdn.net/weixin_37882382/article/details/81705496