Spring集成LogBack日誌的配置和使用

日誌在系統中相當重要,尤爲是生產環境,一旦出現問題,首先是日誌中的錯誤信息觸發預警系統,而後經過郵件、短信甚至電話通知的方式報警給系統負責人。在排查修復問題階段,開發測試人員一般也要查看系統日誌,分析故障緣由。
java

 

Spring默認使用SLF4J和LogBack,可在application.yml中定製配置。git


代碼文件github

功能要點web

SpringBoot集成SLF4J和LogBackspring

pom.xml緩存

引入log依賴spring-boot-starter-logging,注:spring-boot-starter和spring-boot-starter-web已經引入了spring-boot-starter-loggingapp

application.ymlide

定製配置log屬性函數

封裝LogUtilspring-boot

LogUtil.java

集中處理日誌

單元測試

LogUtilTest.java

測試log輸出

功能調用

xxx.java

調用LogUtil函數,如LogUtil.info()

 

代碼

Github下載:https://github.com/jextop/StarterApi/

 

SpringBoot集成Log日誌

1. pring-boot-starter和spring-boot-starter-web默認引入了SLF4J和LogBack依賴。若是須要單獨引入,可pom.xml中添加spring-boot-starter-logging

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-logging</artifactId>
</dependency>

 

2. application.yml中定製配置log屬性:

logging.level:指定package的輸出日誌級別,可選:debug, info, warn, error

logging.file.path:指定日誌文件路徑

logging.file.max-size:指定單個文件大小,超過期將滾動生成多個文件

logging.file.max-history:指定歸檔日誌文件保留的最長曆史記錄

logging.pattern.console:輸出到console工做臺的日誌格式

logging.pattern.file:輸出到日誌文件的格式

logging:
  level:
    com.starter: info
  file:
    path: logs
    max-size: 10MB
    max-history: 7
  pattern:
    console: "%d %-5level [%thread] %logger : %msg%n"
    file: "%d %-5level [%thread] %logger : %msg%n"

 

封裝LogUtil.java,集中處理日誌

image.png

單元測試,調用LogUtil

@SpringBootTest(classes = StarterApplication.class)
public class LogUtilTest {
    @Test
    public void testLog() {
        LogUtil.debug("debug", "message.");
        LogUtil.info("info", "message.");
        LogUtil.warn("warn", "message.");
        LogUtil.error("error", "message.");
    }
}


輸出日誌:

2020-01-31 14:21:13,796 INFO  [main] com.common.util.LogUtil : info, message.

2020-01-31 14:21:13,796 WARN  [main] com.common.util.LogUtil : warn, message.

2020-01-31 14:21:13,796 ERROR [main] com.common.util.LogUtil : error, message.


功能調用

- 代碼中調用LogUtil.info(xxx)

  LogUtil.info("Check cache to set str", key, str);


- Console工做臺和日誌文件輸出:

2020-01-31 14:19:02,438 INFO  [http-nio-8011-exec-2] com.common.util.LogUtil : Check cache to set str, cache_test_192.168.3.9_200131014871354985900257_緩存, cache_test_192.168.3.9_200131014871354985900257_緩存

相關文章
相關標籤/搜索