1. 程式人生 > >IDEA編輯Spring-Boot Web,設定日誌級別,並列印到相應的目錄下。

IDEA編輯Spring-Boot Web,設定日誌級別,並列印到相應的目錄下。

我使用的日誌框架是logback。我們的目的是把INFO日誌和ERROR分開到不同的檔案中,並且能夠每日形成一個日誌檔案。

第一步,使用idea建立一個Spring-Boot的專案

一直預設,有關SpringBoot基礎建立都不清楚的話,可以先去看看入門教程,到這步的時候選擇web就行。

建立成功

第一步,在resources下面新建一個xml檔案,檔名是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>
    <!--每天生成一個日誌檔案-->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--根據範圍來過濾-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--每日迴圈策略,每天一個日誌檔案-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路徑-->
            <fileNamePattern>
                /Users/Cdy1234/Desktop/project/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>
                %msg%n
            </pattern>
        </encoder>
        <!--每日迴圈策略,每天一個日誌檔案-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路徑-->
            <fileNamePattern>
                /Users/Cdy1234/Desktop/project/error.%d.log
            </fileNamePattern>
        </rollingPolicy>
    </appender>


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

生成效果檔案如下

想要測試的同學可以自己寫一下測試檔案。

在test檔案中增加一個測試類。這裡用到了@Slf4j,不懂的可以直接百度一下,我這裡就不多解釋。

package com.chuzhong;

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

/**
 * Created by Cdy1234 on 2018/9/13.
 */
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LoggerTest {

//    private final Logger logger= LoggerFactory.getLogger(LoggerTest.class);
    @Test
    public void test1(){
//      logger.debug("debug...");
//      logger.info("info...");
//      logger.error("error");
        String name="imooc";
        String password="12344";
        log.debug("debug...");
        log.info("name={},password={}",name,password);
        log.error("error..");
    }
}