使用Log4j記錄系統日誌

2021-04-15 22:48:13 字數 2780 閱讀 7411

使用log4j記錄系統日誌

l what is log4j?

log4j是apache的開源專案,可以方便地控制日誌資訊輸送到各種目的地,包括控制台,日誌檔案等,還可以精確控制每一條日誌的輸出格式.

l why use log4j?

傳統的日誌思想就在**中書寫system.out.println()來記錄日誌,這種方式既單調,又降低系統效能,而使用log4j能很好的解決這個問題.

解壓後,jar包在/dist/lib目錄

2.建立log4j.properties檔案(怎麼建立請看下面)

3.使用log4j

l 獲取logger, 語法:

public static logger getlogger(string name)

public static logger getlogger(class name)

eg: logger logger = logger.getlogger(test.class); 

//這一句一般放在類的最開始處,以類名為日誌器命名

l 通過獲取的logger記錄日誌資訊

eg:

logger.debug(「debug message」);

logger.error(「error message」);

logger.fatal(「fatal message」);

建立

log4j

配置檔案

log4j配置檔案的基本格式

//配置根logger

...//配置日誌資訊的格式 layout

...輸出級別

一共5級

l fatal

l error

l warn

l info

l debug

log4j只建議使用error,warn,info,debug,優先順序如下

debug < info < warn < error < fatal

輸出目的

輸出到控制台

輸出到檔案

輸出到檔案,每天產生乙個日誌檔案

輸出到檔案,當檔案達到指定大小的時候產生乙個新的檔案

以流格式傳送到任意指定的地方

輸出樣式

org.apache.log4j.htmllayout

html**形式布局

org.apache.log4j.patternlayout

該格式可以靈活的指定布局樣式

org.apache.log4j.******layout

該格式包含日誌資訊的級別和資訊字串

org.apache.log4j.ttcclayout

該格式包含日誌產生的時間,執行緒,類別等資訊

列印引數

log4j採用類似c語言中的printf函式格式化日誌資訊

%m

輸出**中的指定訊息

%p

輸出優先順序,即debug info warn error fatal

%r

輸出自專案啟動到輸出該log資訊耗費的毫秒數

%c

輸出所屬的類目

%t

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

%n

乙個換行符

%d

輸出日誌時間點的日期或時間,預設格式為iso861

%l

輸出日誌事件的發生位置,包括類目名,發生的執行緒,以及在**中的行數

eg:

log4j.rootlogger=info,console

eg2:

log4j.rootlogger=info,console,file

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記錄日誌

1 配置根logger 1 首先在classpath下尋找自己的配置檔案commons logging.properties,如果找到,則使用其中定義的 log實現類 2 如果找不到commons logging.properties檔案,則在查詢是否已定義系統環境變數 org.apache.com...

使用log4j記錄日誌

1 環境 win7,jdk1.6,myeclipse8.5,tomcat6 2 準備commons logging.jar log4j 1.2.15.jar放在 lib目錄下 3 log4j.properties檔案的內容 log4j configuration log4j.rootlogger d...