1. 程式人生 > 程式設計 >如何在springBoot下搭建日誌框架

如何在springBoot下搭建日誌框架

1. 日誌框架的選擇:(這兩個框架,springBoot已經整合,無需引入jar包)

如何在springBoot下搭建日誌框架

2. 在resources目錄下配置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">
<!--      以下三行表示當匹配到error級別的日誌時拒絕寫入日誌,其餘級別允許寫入-->
      <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>F:\sellLog\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>F:\sellLog\error.%d.log</fileNamePattern>
    </rollingPolicy>
  </appender>

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

</configuration>

3. 在springBoot啟動類新增日誌相應的物件(本例使用了junit測試,與在啟動類配置一樣)

package com.yzy.sell;
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 SellApplicationTests {
 private final Logger log= LoggerFactory.getLogger(SellApplicationTests.class);
  @Test
  public void test1() {
    String name = "yzy";
    String password = "123456";
    log.debug("debug...");
    log.info("name: " + name + ",password: " + password);
    log.info("name: {},password: {}",name,password);
    log.error("error...");
    log.warn("warn...");
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。