我們現有的日誌框架有許多,例如:UCL,JUL,jboss-logging,logback,log4j,slf4j等等。
Spring Boot默認選用slf4j和logback,在pom.xml中我們選擇層級關係表,可以看到相關的jar包。
我們使用slf4j來介紹以下它的用法,我們創建一個Logger對象,然後調用它的幾個常見方法來看看。
然後我們運行測試方法,發現它只打印三個,分別是info,warn和error,爲什麼trace和debug沒有打印呢?
我們去相關jar包查看一下。
然後往下滑動,可以看到有一個class文件叫做log的等級,我們點進去。
我們去看看它的級別關係。
可以發現它的級別關係是這樣的。
TRACE< DEBUG< INFO<WARN< ERROR< FATAL<OFF
可以發現比INFO等級小的沒有打印,與INFO等級相等或者比INFO等級高的就打印了相關信息。
這個日誌框架默認的level選用的是INFO,我們也可以將其更改,還是prefix+屬性名的操作(之前章節講過如何找到prefix+屬性名的位置,想學的童鞋可以翻閱)。
我們現在把級別定到了warn(配置文件中寫法是loggin.level.+主配置類包名=[value])。
然後我們再次運行測試方法。
可以發現INFO也不打印了,說明我們配置的的確沒有問題。
可以通過配置文件將日誌信息存儲到文件中logging.file=springboot.log存儲到了項目的根目錄中。
也可以指定具體的日誌路徑:logging.file=D:/springboot.log。
也可以存儲到一個文件夾中,logging.path=D:/log/,並且默認的文件名是spring.log。
我們可以指定日誌顯示格式(同樣在配置文件中配置):
a.日誌顯示在console中
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
( %d:日期時間,%thread:線程名, %-5level: 顯示日誌級別,-5表示從左顯示5個字符寬度,%logger{50} :設置日誌長度 ,例如o.s.w.s.m.m.a.,%msg:日誌消息,%n :回車)
b.日誌顯示在文件中
logging.pattern.file=%d{yyyy-MM-dd} ** [%thread] ** %-5level ** %logger{50}** %msg%n (**是爲了打印區分,可以不寫)
關注博主,更多精彩哦!
上一章:從零開始的Spring Boot學習【十】【訪問路徑配置和配置文件的位置】
下一章:【努力編寫中...】