當前位置:
首頁 > 最新 > 關於log4j.properties 配置說明

關於log4j.properties 配置說明

什麼是log4j?

Log4j是Apache的一個開源項目,通過使用Log4j,我們可以控制日誌信息輸送的目的地是控制台、文件、GUI組件,甚至是套介面伺服器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每一條日誌的輸出格式;通過定義每一條日誌信息的級別,我們能夠更加細緻地控制日誌的生成過程。最令人感興趣的就是,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用的代碼。

log4j.properties 如何配置

其中properties文件

1 log4j.rootLogger=INFO, Console //表示INFO級別 輸出到控制台

2 #Console

3 log4j.appender.Console=org.apache.log4j.ConsoleAppender

4 log4j.appender.Console.layout=org.apache.log4j.PatternLayout

5 log4j.appender.Console.layout.ConversionPattern=%-5p – %m%n

JAVA 代碼部分

1 public Test{

2 Logger log = Logger.getLogger(Test.class)//log.info() 調用

3 }

需要log4j JAR包

log4j.properties 配置

第一步

加入log4j-1.2.8.jar(可以選擇log4j的更高版本)到lib下。

第二步

在CLASSPATH下建立log4j.properties。內容如下(數字為行號):

log4j.rootCategory=INFO, stdout , R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

log4j.appender.R.File=D:\Tomcat 5.5\logs\qc.log

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c – %m%n

第三步

相應的修改其中屬性,修改之前就必須知道這些都是幹什麼的,在第二部分講解。

第四步

在要輸出日誌的類中加入相關語句:

定義屬性:static Logger logger = Logger.getLogger(LogDemo.class); //LogDemo為相關的類

在相應的方法中:

if (logger.isDebugEnabled()){

logger.debug(「System …..」);

}

Log4j說明

1 og4j.rootCategory=INFO, stdout , R

此句為將等級為INFO的日誌信息輸出到stdout和R這兩個目的地,stdout和R的定義在下面的代碼,可以任意起名。等級可分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF則不打出任何信息,如果配置為INFO這樣只顯示INFO, WARN, ERROR的log信息,而DEBUG信息不會被顯示,具體講解可參照第三部分定義配置文件中的logger。

3 、log4j.appender.stdout=org.apache.log4j.ConsoleAppender

此句為定義名為stdout的輸出端是哪種類型,可以是

org.apache.log4j.ConsoleAppender(控制台),

org.apache.log4j.FileAppender(文件),

org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件),

org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)

org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)

具體講解可參照第三部分定義配置文件中的Appender。

4、log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

此句為定義名為stdout的輸出端的layout是哪種類型,可以是

具體講解可參照第三部分定義配置文件中的Layout。

5 、log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n

如果使用pattern布局就要指定的列印信息的具體格式ConversionPattern,列印參數如下:

%m 輸出代碼中指定的消息

%p 輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL

%r 輸出自應用啟動到輸出該log信息耗費的毫秒數

%c 輸出所屬的類目,通常就是所在類的全名

%t 輸出產生該日誌事件的線程名

%n 輸出一個回車換行符,Windows平台為「rn」,Unix平台為「n」

%d 輸出日誌時間點的日期或時間,默認格式為ISO8601,也可以在其後指定格式,比如:%d,輸出類似:2002年10月18日 22:10:28,921

%l 輸出日誌事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。

[QC]是log信息的開頭,可以為任意字元,一般為項目簡稱。

輸出的信息

[TS] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean 『MyAutoProxy』

具體講解可參照第三部分定義配置文件中的格式化日誌信息。

7、log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

此句與第3行一樣。定義名為R的輸出端的類型為每天產生一個日誌文件。

8 、log4j.appender.R.File=D:\Tomcat 5.5\logs\qc.log

此句為定義名為R的輸出端的文件名為D:\Tomcat 5.5\logs\qc.log可以自行修改。

9、log4j.appender.R.layout=org.apache.log4j.PatternLayout

與第4行相同。

10、log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c – %m%n

與第5行相同。

12、log4j.logger.com. neusoft =DEBUG

指定com.neusoft包下的所有類的等級為DEBUG。

可以把com.neusoft改為自己項目所用的包名。

這兩句是把這兩個包下出現的錯誤的等級設為ERROR,如果項目中沒有配置EHCache,則不需要這兩句。

這兩句是struts的包。

這句是displaytag的包。(QC問題列表頁面所用)

此句為Spring的包。

此兩句是hibernate的包。

以上這些包的設置可根據項目的實際情況而自行定製。

代碼簽名證書是保護開發者的勞動成果,給自己開發的軟體簽名的證書,保證代碼在簽名之後不被惡意篡改。用戶可通過對代碼的數字簽名來標識軟體來源,辨別軟體開發者的真實身份。GDCA的代碼簽名證書支持多種代碼簽名,已通過WEBTRUST國際認證。

文章轉載:https://www.trustauth.cn/wiki/21808.html

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數安時代GDCA 的精彩文章:

linux與windows系統有什麼區別?
詳解SSL證書中的keystore
簡述數字簽名證書之數字時間戳
虛擬貨幣:比特幣廣受全球不法分子的青睞
一級域名與二級域名之間的區別

TAG:數安時代GDCA |