日志:slf4j+logback 的配置与使用

wylc123 1年前 ⋅ 678 阅读

pom.xml配置

<properties>
    <slf4j.version>1.7.25</slf4j.version>
</properties>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
</dependency>

logback.xml配置(下面的配置同时配置输出到文件和输出到控制台)

https://blog.csdn.net/duguxiaobiao/article/details/78988409

我的配置文件,分文件记录不同等级的日志信息(springboot推荐命名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 -- %msg%n</pattern>
        </layout>
    </appender>
    <!--日志一般主要看重的有5个级别,优先级如 DEBUG<INFO<WARN<ERROR<FATAL等,而springboot默认配置
    是 INFO级别-->
    <appender name="fileDebugLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--要拦截的日志级别-->
            <level>DEBUG</level>
            <!--如果匹配,则允许记录-->
            <onMatch>ACCEPT</onMatch>
            <!--如果不匹配,则禁止-->
            <onMismatch>DENY</onMismatch>
        </filter>
        <encoder>
            <pattern>%d -- %msg%n</pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>c:/logs/debug-%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--要拦截的日志级别-->
            <level>INFO</level>
            <!--如果匹配,则允许记录-->
            <onMatch>ACCEPT</onMatch>
            <!--如果不匹配,则禁止-->
            <onMismatch>DENY</onMismatch>
        </filter>
        <encoder>
            <pattern>%d -- %msg%n</pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>c:/logs/info-%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>


    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--添加 范围 过滤-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>%d -- %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>c:/logs/error-%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <root level="debug">
        <appender-ref ref="consoleLog" />
        <appender-ref ref="fileDebugLog"/>
        <appender-ref ref="fileInfoLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>
</configuration>
更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: