log4j
由三個重要的元件構成:日誌資訊的優先順序,日誌資訊的輸出目的地,日誌資訊的輸出格式。日誌資訊的優先順序從高到低有
error
、warn
、info
、debug
,分別用來指定這條日誌資訊的重要程度;日誌資訊的輸出目的地指定了日誌將列印到控制台還是檔案中;而輸出格式則控制了日誌資訊的顯示內容。
#配置檔案
settingfilename.ini
log4j.rootlogger=info, a1, a2
注意:其中的必須都為小寫
注釋:
1.
配置根logger
,其語法為:
其中,
level
是日誌記錄的優先順序,分為
off、
fatal
、error
、warn
、info
、debug
、all
或者您定義的級別。
log4j
建議只使用四個級別,優先順序從高到低分別是
error
、warn
、info
、debug
。通過在這裡定義的級別,您可以控制到應用程式中相應級別的日誌資訊的開關。指定輸出只顯示比該級別以上的資訊,所有比該級別低的資訊都不會被顯示。比如在這裡定義了info級別,則應用程式中所有debug級別的日誌資訊將不被列印出來。
就是指定日誌資訊輸出到哪個地方。您可以同時指定多個輸出目的地。
2.配置日誌資訊輸出目的地
,其語法為
…
其中,
log4j
提供的有以下幾種:
(控制台),
(檔案),
(每天產生乙個日誌檔案),
(檔案大小到達指定尺寸的時候產生乙個新的檔案),
(將日誌資訊以流格式傳送到任意指定的地方)
3.配置日誌資訊的格式(布局),其語法為:
…
其中,
log4j
提供的layout
有以下幾種:
.apache.log4j.htmllayout
(以html
**形式布局),
.apache.log4j.patternlayout
(可以靈活地指定布局模式),
.apache.log4j.******layout
(包含日誌資訊的級別和資訊字串),
.apache.log4j.ttcclayout
(包含日誌產生的時間、執行緒、類別等等資訊)
4.當
layout
為patternlayout
時,conversionpattern
的格式有下面選項:
%r:
自程式開始後消耗的毫秒數
%t:
表示日誌記錄請求生成的執行緒
%p:
表示日誌語句的優先順序
%r:
與日誌請求相關的類別名稱
%c:
資訊所在的類名
%m%n:
表示訊息的內容
5.配置檔案同樣適用於伺服器端和客戶端。 1.
import
中加入以下幾行:
import .apache.log4j.propertyconfigurator ;
import .apache.log4j.logger ;
import .apache.log4j.level ; 2.
定義logger變數
static logger logger = logger.getlogger(serverwithlog4j.class.getname ()) ; 3.
讀配置檔案
propertyconfigurator.configure (string settingfilename) ; 4.
顯示日誌資訊
按顯示級別顯示日誌資訊
logger.debug(string log_info);
用於顯示除錯資訊
logger.info (string log_info);
用於顯示系統提示資訊
logger.warn(string log_info);
用於顯示警告或特殊提示
logger.error(string log_info);
用於顯示錯誤資訊,一般在異常中使用。例如:
catch(ioexception e)
以上只是很簡單的
log4j
包的一般使用,如果在使用中遇到問題,請檢視包的
api得到更詳細的資訊
!
log4j學習筆記
先貼幾個官方的東西 log4j日誌等級從高到低 分為off fatal error warn info debug all或者您定義的級別。log4j建議只使用四個級別,優先順序從高到低分別是error warn info debug。通過在這裡定義的級別,您可以控制到應用程式中相應級別的日誌資訊的...
log4j學習筆記
rootlogger是新的使用名稱,對應logger類 rootcategory是舊的使用名稱,對應原來的category類 logger類是category類的子類,所以,rootcategory是舊的用法,不推薦使用 m 輸出 中指定的訊息 p 輸出優先順序,即debug,info,warn,e...
log4j學習筆記
官方文件 參考 1.logger 1.1 logger logger是我們列印日誌之前去的的控制日誌列印的物件 logger具有自己的名稱,根據名稱的可包含關係具有繼承性 例如 名字為com.foo的logger是com.foo.bar的logger的祖先,因為它們2個之間只相差乙個.後面的字元,因...