【熵增教育】Jacob-你所遺漏的SpringBoot日誌管理知識——熵增學院

Spring Boot對全部內部日誌記錄使用了Commons Logging,可是底層日誌實現是開放的。能夠爲 Java Util日誌、Log4J2和Logback。對於每種日誌都預先配置爲使用控制檯輸出和可選的文件輸出。默認爲Logbackjava

日誌配置

經過將相應的庫添加到classpath能夠激活各類日誌系統,而後在classpath根目錄下提供合適的配置文件能夠進一步定製日誌系統,配置文件也能夠經過Spring Environment的logging.config屬性指定。spring

如下文件會根據你選擇的日誌系統進行加載:api

日誌系統 定製配置
Logback logback-spring.xml,logback-spring.groovy,logback.xmllogback.groovy
Log4j log4j.propertieslog4j.xml
Log4j2 log4j2-spring.xmllog4j2.xml
JDK (Java Util Logging) logging.properties

注 若是可能的話,建議你使用-spring變種形式定義日誌配置(例如,使用logback-spring.xml而不是logback.xml)。若是你使用標準的配置路徑,Spring可能不可以徹底控制日誌初始化。tomcat

注 Java Util Logging從可執行jar運行時會致使一些已知的類加載問題,咱們建議儘量不使用它。ide

如下是從Spring Envrionment轉換爲System properties的一些有助於定製的配置屬性:spring-boot

Spring Environment System Property Comments
logging.exception-conversion-word LOG_EXCEPTION_CONVERSION_WORD 記錄異常使用的關鍵字
logging.file LOG_FILE 若是指定就會在默認的日誌配置中使用
logging.path LOG_PATH 若是指定就會在默認的日誌配置中使用
logging.pattern.console CONSOLE_LOG_PATTERN 日誌輸出到控制檯(stdout)時使用的模式(只支持默認的logback設置)
logging.pattern.file FILE_LOG_PATTERN 日誌輸出到文件時使用的模式(若是LOG_FILE啓用,只支持默認的logback設置)
logging.pattern.level LOG_LEVEL_PATTERN 用來渲染日誌級別的格式(默認%5p,只支持默認的logback設置)
PID PID 當前的處理進程(process)ID(可以找到,且尚未用做OS環境變量)

全部支持的日誌系統在解析配置文件時都能獲取系統屬性的值,具體能夠參考spring-boot.jar中的默認配置。idea

log4j2配置

一份史詩級配置spa

/home/logs/log/dev \ \ \ \.net

</Appenders>
<Loggers>
    <Root level="debug">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="debug"/>
        <AppenderRef ref="info"/>
        <AppenderRef ref="warn"/>
        <AppenderRef ref="error"/>
    </Root>
</Loggers>

 

  1. 各個文件輸出到不一樣級別的目錄debug

  2. 設置最大保存時間爲15天

  3. 每一個文件最大50M

tomcat的日誌

在properties文件添加以下配置:

server.tomcat.basedir=/home/logs/log-api/tomcat-logs server.tomcat.accesslog.enabled=true server.tomcat.accesslog.pattern=%t %a "%r" %s %D (%D ms) server.use-forward-headers=true

lombok的神組合

使用lombok的@Slf4j 註解,省去配置聲明log的繁瑣,提升開發效率。

idea的 grep console組合

Grep Console 自定義設置控制檯輸出顏色,這樣控制檯就能比較明顯的看到警告或者錯誤的信息,方便查找問題

視頻:https://space.bilibili.com/313762729/#/

相關文章
相關標籤/搜索