第九章:SpringBoot日誌——(預設配置)
阿新 • • 發佈:2019-01-22
(一):SpringBoot預設已經給我們配置好了日誌。
我們在專案的test目錄下的測試類中測試一下。
@RunWith(SpringRunner.class) @SpringBootTest public class LoggingApplicationTests { //日誌記錄器 Logger logger = LoggerFactory.getLogger(getClass()); @Test public void contextLoads() { //日誌的級別; //由低到高 trace<debug<info<warn<error //可以調整輸出的日誌級別;日誌就只會在這個級別以以後的高級別生效 logger.trace("這是trace日誌..."); logger.debug("這是debug日誌..."); //SpringBoot預設給我們使用的是info級別的,沒有指定級別的就用SpringBoot預設規定的級別; logger.info("這是info日誌..."); logger.warn("這是warn日誌..."); logger.error("這是error日誌..."); } }
我們再控制檯列印一下,發現SpringBoot使用的是預設info級別的。
如果我們想給指定的包使用日誌級別的話,去全域性配置檔案application.properties配置一下就ok.
logging.level.com.spring=trace
解釋一下上面的一行配置:我指定com.spring包使用trace級別的日誌輸出。上面那個類中我們說的日誌級別中trace是最底的,
所以我再次執行測試,發現控制檯會答應出所有的日誌級別。
(二):日誌輸出到指定的地方
日誌的輸出我們可以指定他的具體位置,也是在全域性的配置檔案application.properties配置一下就ok.
# 不指定路徑在當前專案下生成springboot.log日誌 #logging.file=springboot.log # 可以指定完整的路徑; logging.file=D:/springboot.log # 在當前磁碟的根路徑下建立spring資料夾和裡面的log資料夾;使用 spring.log 作為預設檔案 logging.path=/spring/log
解釋上面的程式碼:可以指定具體到哪個位置,如果不指定,則就在專案下建立這個檔案。
# 在控制檯輸出的日誌的格式
logging.pattern.console=%d{yyyy‐MM‐dd} [%thread] %‐5level %logger{50} ‐ %msg%n
# 指定檔案中日誌輸出的格式
logging.pattern.file=%d{yyyy‐MM‐dd} === [%thread] === %‐5level === %logger{50} ==== %msg%n
解釋:↓ 日誌輸出格式: %d表示日期時間, %thread表示執行緒名, %‐5level:級別從左顯示5個字元寬度 %logger{50} 表示logger名字最長50個字元,否則按照句點分割。 %msg:日誌訊息, %n是換行符 ‐‐> %d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n