1. 程式人生 > >日誌的介紹

日誌的介紹

結果 data .info apach 實現 輸出 and bug 日誌系統

1.概述

?  在項目開發過程中,我們輸出日誌,都是使用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 public
class 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日誌級別....

日誌的介紹