1. 程式人生 > >slf4j/logback: logging日誌的配置

slf4j/logback: logging日誌的配置

slf4j/logback: logging日誌的配置

 

import依賴:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger log = LoggerFactory.getLogger(LoggerTest.class);

package com.muyang.diancan;

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
public class LoggerTest {

    private static final Logger log = LoggerFactory.getLogger(LoggerTest.class);

    @Test
    public void test1()
    {
        String name= "zhangsan";
        String password = "123456";

        log.debug("debug:  "+name+",  "+password);
        log.info("info: {}, {}", name, password);
        log.error("error...... ");

    }
}

  

Slf4j工具

import lombok.extern.slf4j.Slf4j;
package com.muyang.diancan;

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;

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

    @Test
    public void test1()
    {
        String name= "zhangsan";
        String password = "123456";

        log.debug("debug:  "+name+",  "+password);
        log.info("info: {}, {}", name, password);
        log.error("error...... ");

    }
}

  

yml配置方法一

##########################
##logging配置方法一
logging:
  pattern:
    console: "%d - %msg%n"     #日誌輸出格式:日期 - 日誌資訊
  #path: E:\javawork\log
  file: E:\javawork\log\sell.log        #日誌輸出到檔案
  file: E:\javawork\log\sell.%d.log  #日誌輸出到檔案
  level:
    com.muyang.diancan: debug   #指定需要日誌輸出的包:com.muyang.diancan是專案的個根目錄(根包),
##########################

  

 

配置方法二

logback-spring.xml

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

    <!--loggin日誌配置方法二-->

    <!--控制檯loggin輸入格式-->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>
                %d - %msg%n
            </pattern>
        </layout>
    </appender>
    <!--loggin日誌檔案輸出:滾動輸出-->
    <!--info日誌-->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--日誌過濾info級別的-->
        <!--如果是error級別,則禁止,否則啟用通過-->
        <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>E:\javawork\log\sell\log.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <!--ERROR日誌-->
    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--日誌過濾:只輸出error-->
        <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>E:\javawork\log\sell\error.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <!--logging作用範圍,使用配置-->
    <root level="info">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileInfoLog"/>
        <appender-ref ref="fileErrorLog"/>

    </root>

</configuration>