日誌的介紹
? 在項目開發過程中,我們輸出日誌,都是使用System.out 輸出 。 如果以後項目上線,我們就需要禁止輸出這些測試的日誌,那麽就需要一行一行的查看我們代碼,把輸出語句刪除; 或者說我們需要輸出一些有必要的提示的日誌,那麽就比較難控制。 這些日誌只會輸出到控制臺, 不會保存成文件. 所以我們采用專門的日誌系統(jar包)來處理.
2.介紹SLF4J 和 log4j的關系
-
SLF4J : Simple Logging Facade for Java, java的日誌系統門面, 其實就是定義了一種接口、有點像JDBC似的,可以理解為規範。
-
log4j 是屬於實現 , 也就是具體輸出日誌的時候,用的是log4j。
規範的出現是因為在一個程序中多個框架用到了不同的日誌系統,日誌雜亂。規範提供統一解決方案。規範和實現的整合,需要中間整合橋梁。
3.日誌的使用步驟
jar下載地址:https://www.apache.org/dyn/closer.lua/logging/log4j/
https://www.slf4j.org/download.html/
-
拷貝jar包到項目中(log4j-1.2.17.jar 、 slf4j-api-1.7.25.jar 、slf4j-log4j12-1.7.25.jar)
-
在src目錄下編寫log4j.properties配置文件
#設置日誌記錄到控制臺的方式 log4j.appender.std=org.apache.log4j.ConsoleAppender #out以黑色字體輸出,err以紅色字體輸出 log4j.appender.std.Target=System.out log4j.appender.std.layout=org.apache.log4j.PatternLayout log4j.appender.std.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n ? #設置日誌記錄到文件的方式 log4j.appender.file=org.apache.log4j.FileAppender #日誌文件路徑文件名 log4j.appender.file.File=mylog.txt log4j.appender.file.layout=org.apache.log4j.PatternLayout #日誌輸出的格式 log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n #日誌輸出的級別,以及配置記錄方案 log4j.rootLogger=info,std,file
級別:error > warn > info>debug>trace
如果設置了某個級別, 只會打印比這個級別高的或者等於這個級別的日誌
1 import org.junit.Test; 2 import org.slf4j.Logger; 3 import org.slf4j.LoggerFactory; 4 5 /** 6 * @Author: KONG 7 * @Description: 8 * @Date: Created in 4:57 PM 21/01/2018 9 * @Modified By: 10 */ 11 publicclass LogTest { 12 13 private Logger logger = LoggerFactory.getLogger(LogTest.class); 14 @Test 15 public void fun01(){ 16 logger.error("error日誌級別...."); 17 logger.warn("warn日誌級別...."); 18 logger.info("info日誌級別...."); 19 logger.debug("debug日誌級別...."); 20 logger.trace("trace日誌級別...."); 21 } 22 }
輸出結果
2018-01-21 16:58:45 ERROR LogTest:16 - error日誌級別....
2018-01-21 16:58:45 WARN LogTest:17 - warn日誌級別....
2018-01-21 16:58:45 INFO LogTest:18 - info日誌級別....
日誌的介紹