Log4j日誌工具

2021-10-04 04:14:12 字數 2247 閱讀 3821

通常,我們寫**的過程中,免不了要輸出各種除錯資訊。在沒有使用任何日誌工具之前,都會使用 system.out.println 來做到。 這麼做直觀有效,但是有一系列的缺點:

1. 不知道這句話是在哪個類,哪個執行緒裡出來的

2. 不知道什麼時候前後兩句輸出間隔了多少時間

3. 無法關閉除錯資訊,一旦system.out.println多了之後,到處都是輸出,增加定位自己需要資訊的難度

等等就是因為這些情況,我們採用log4j來輸出日誌,下面是使用log4j的列子:

1. 知道是log4j.testlog4j這個類裡的日誌

2. 是在[main]執行緒裡的日誌

3. 日誌級別可觀察,一共有6個級別 trace debug info warn error fatal

4. 日誌輸出級別範圍可控制, 如**所示,只輸出高於debug級別的,那麼trace級別的日誌自動不輸出

5. 每句日誌消耗的毫秒數(最前面的數字),可觀察,這樣就可以進行效能計算

static logger logger = logger.getlogger(類名.class);  這是基於類的名稱獲取日誌物件。

basicconfigurator.configure(); 進行預設的配置

logger.setlevel(level.debug) 設定日誌的輸出級別

package log4j;

import org.apache.log4j.basicconfigurator;

import org.apache.log4j.level;

import org.apache.log4j.logger;

public class testlog4j

}

在src目錄下面新增乙個log4j.properties 檔案

log4j.rootlogger=debug, stdout, r   

這是先把日誌的輸出等級設定成為debug,如果bug等級低於debug就不會輸出啦,然後指定了把日誌輸出到兩個地方, stdout和r

這裡就是上面輸出的第乙個地方,stdout,給他輸出到控制台。

這是設定輸出到控制台的輸出格式是%5p [%t] (%f:%l) - %m%n 在下面有格式的詳細內容

這是在設定另外乙個輸出位置r, 以滾動的方式輸出到檔案,檔名是example.log,檔案最大100k, 最多滾動5個檔案

這是對r的輸出格式的設定。

log4j.rootlogger=debug, stdout, r  

# pattern to output the caller's file name and line number.

# keep one backup file

輸出格式

log4j日誌輸出格式一覽:

%c 輸出日誌資訊所屬的類的全名

%d 輸出日誌時間點的日期或時間,預設格式為iso8601,也可以在其後指定格式,比如:%d,輸出類似:2002-10-18- 22:10:28

%f 輸出日誌資訊所屬的類的類名

%l 輸出日誌事件的發生位置,即輸出日誌資訊的語句處於它所在的類的第幾行

%m 輸出**中指定的資訊,如log(message)中的message

%n 輸出乙個回車換行符,windows平台為「rn」,unix平台為「n」

%p 輸出優先順序,即debug,info,warn,error,fatal。如果是呼叫debug()輸出的,則為debug,依此類推

%r 輸出自應用啟動到輸出該日誌資訊所耗費的毫秒數

%t 輸出產生該日誌事件的執行緒名

所以:%5p [%t] (%f:%l) - %m%n 就表示

寬度是5的優先等級 執行緒名稱 (檔名:行號) - 資訊 回車換行

然後測試類:

要通過propertyconfigurator.configure來指定剛才的log4j配置資訊的位置。

package log4j;

import org.apache.log4j.logger;

import org.apache.log4j.propertyconfigurator;

public class testlog4j }}

結果:

也可以使用xml的形式來寫配置資訊,用著再學吧。

學習**:

日誌工具 Log4j

可以在配置檔案中配置 日誌輸出級別 輸出樣式 輸出目的地,很靈活。輸出級別包括 all trace 跟蹤 debug 除錯 info warning error fital 致命 off 如何在乙個類中使用log4j 2 常見的使用場景如下 1 import org.apache.log4j.log...

log4j日誌系統 Log4j

1.1 log4j的三大核心元件 1.2 loggers 記錄器 1.4 layouts 布局 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活地指定布局模式 org.apache.log4j.lay...

使用Log4j日誌工具

步驟2 建立log4j.properties 檔案 注意,必須放在soruce folder資料夾下。檔案內容如下 注釋 logfile 指輸出到檔案 o 表示輸出到控制台 log4j.rootlogger debug,logfile,o 把日誌資訊輸出到控制台 步驟3 建立乙個logger 物件 ...