sprigboot project configuration xml format logback

slf4j dependence and dependence logback

New idea logback-spring.xml file resources directory springboot project, along the following lines:

<?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>

    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class = "ch.qos.logback.classic.filter.LevelFilter" > 
            <-! addition WARN level log is not output, the other logs are output level -> 
            < Level > WARN </ Level > 
            < onMatch > DENY < / onMatch > 
            < onMismatch > ACCEPT </ onMismatch > 
        </ filter > 
        < Encoder > 
            < pattern > 
                % n-MSG% 
            </ pattern > 
        </ Encoder > 
        <!- scroll policy -> 
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>/Users/yanguobin/Desktop/shell/info.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <appender name="fileWarnLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <!--只输出WARN及以上级别的日志-->
            <level>WARN</level>
        </filter>
        <encoder>
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>/Users/yanguobin/Desktop/shell/warn.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <root level="info">
        <appender-ref ref="consoleLog" />
        <appender-ref ref="fileInfoLog" />
        <appender-ref ref="fileWarnLog" />
    </root>

</configuration>

Test classes are as follows:

package com.example.shell;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LoggerTest {

    @Test
    public void test1(){
        log.debug("debug...");
        log.info("info...");
        log.warn("warn...");
        log.error("error...");
    }
}

 Desktop log file is generated

Guess you like

Origin www.cnblogs.com/yanguobin/p/11530706.html