關於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
※linux與windows系統有什麼區別?
※詳解SSL證書中的keystore
※簡述數字簽名證書之數字時間戳
※虛擬貨幣:比特幣廣受全球不法分子的青睞
※一級域名與二級域名之間的區別
TAG:數安時代GDCA |