在Spring Boot中使用logback输出日志

Spring Boot默认集成logback,使用时只要添加logback的配置文件就可以了

在resources中添加logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>logback</contextName>
    <!--控制台输出源-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!--日志格式定义-->
        <encoder>
            <!--时间 线程 该条日志级别 信息-->
            <pattern>%d{HH:mm:ss} [%thread] %-5level - %msg%n</pattern>
        </encoder>
        <!--设置日志过滤的级别-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
    </appender>

    <!--滚动文件输出源-->
    <appender name="logFile"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Prudent>true</Prudent>
        <!--日志文件生成策略,按时间滚动生成日志,当文件名发生变化时则新建日志文件-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志存放路径及文件名格式-->
            <FileNamePattern>
                log/heweishi-sync-%d{yyyy-MM-dd}.log
            </FileNamePattern>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--输出日志格式定义-->
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} -%msg%n
            </Pattern>
        </layout>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
    </appender>
    <!--name:生效的包,level:当前日志输出级别,appender-ref:使用的输出源-->
    <!--additivity:children-logger是否使用 rootLogger配置的appender进行输出。
    false:表示只用当前logger的appender-ref。
    true:表示当前logger的appender-ref和rootLogger的appender-ref都有效。-->
    <logger name="com.yqsh.heweishi" level="debug" additivity="true">
        <appender-ref ref="console"/>
        <appender-ref ref="logFile"/>
    </logger>
</configuration>

各日志级别输出的范围:debug>info>warn>error

appender中的ThresholdFilter设置的日志级别决定该数据源所能够输出的最大的日志范围,而logger中的level表示需要输出的日志范围,二者共同决定了实际的日志输出范围

猜你喜欢

转载自blog.csdn.net/D578332749/article/details/83145650