1. 程式人生 > >springboot(4)——日誌配置

springboot(4)——日誌配置

[日誌配置目標

  • 1、區分info和error日誌
  • 2、每天產生一個日誌檔案
  • 3、輸出該日誌具體資訊(包名、類名、第幾行、時間…)

    %d{HH: mm:ss.SSS}——日誌輸出時間
    %thread——輸出日誌的程序名字
    %-5level——日誌級別,並且使用5個字元靠左對齊
    %logger{36}——日誌輸出者的包名+類名
    %msg——日誌訊息
    %n——平臺的換行符

在src/main/resources資源目錄下新建logback-spring.xml檔案配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration> <!-- 列印到console控制檯 --> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern> %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n </pattern
>
</layout> </appender> <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 只過濾某個具體Level --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <!-- 指定ERROR Level -->
<onMatch>DENY</onMatch> <!-- 匹配ERROR Level就DENY拒絕, 不顯示 --> <onMismatch>ACCEPT</onMismatch> <!-- 不匹配ERROR Level就DENY接受, 顯示 --> </filter> <encoder> <pattern> %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <!--滾動策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路徑--> <fileNamePattern>E:\xxx\notes\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> <!-- 只接受error級別 --> </filter> <encoder> <pattern> %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <!--滾動策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路徑--> <fileNamePattern>E:\xxx\notes\error.%d.log</fileNamePattern> </rollingPolicy> </appender> <root level="info"> <appender-ref ref="consoleLog" /> <appender-ref ref="fileInfoLog" /> <appender-ref ref="fileErrorLog" /> </root> </configuration>

使用步驟:
* 1、在類前面加註解@Slf4j
* 2、直接使用log.info(…)…
【IDEA工具需安裝lombok外掛, log才不會標紅】