通常,我們寫**的過程中,免不了要輸出各種除錯資訊。在沒有使用任何日誌工具之前,都會使用 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 物件 ...