log4j如何配置和使用-創(chuàng)新互聯(lián)

這篇文章主要介紹了log4j如何配置和使用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、迪慶州網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、迪慶州網(wǎng)絡(luò)營(yíng)銷、迪慶州企業(yè)策劃、迪慶州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供迪慶州建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:muchs.cn

 log4j有三個(gè)主要的組件,分別是:


    *Logger(記錄器):負(fù)責(zé)按照設(shè)定的優(yōu)先級(jí)過(guò)濾日志信息,然后轉(zhuǎn)發(fā)到存放器
    *Appender(存放器):負(fù)責(zé)接收并處理記錄器轉(zhuǎn)發(fā)來(lái)的日志信息,通常的處理是輸出到屏幕或者存儲(chǔ)到磁盤文件

    *Layout(布局器):負(fù)責(zé)格式化日志信息

上述三者之間的關(guān)系:
   一個(gè)Logger可以掛接多個(gè)Appender(日志信息同時(shí)轉(zhuǎn)發(fā)到多個(gè)設(shè)備)
   一個(gè)Appender指定一個(gè)Layout進(jìn)行格式化操作

一、定義配置文件log4j.properties
  1.
     log4j.記錄器名稱=[ 級(jí)別 ] , 存放器名稱1, 存放器名稱2, …
     級(jí)別優(yōu)先級(jí)由高到低依次是:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
     log4j建議只使用四個(gè)級(jí)別,優(yōu)先級(jí)從高到低分別是:ERROR、WARN、INFO、DEBUG
     只有優(yōu)先級(jí)高于或等于設(shè)定級(jí)別的日志信息被轉(zhuǎn)發(fā),例如,如果定義為INFO,那么在程序中級(jí)別為DEBUG的日志信息都不會(huì)輸出。
     log4j.rootLogger是所有記錄器的父對(duì)象(原名rootCategory已廢棄),可用于設(shè)定所有記錄器的缺省優(yōu)先級(jí)
     記錄器可以繼承,如:log4j.myLogger.childLogger=,file
     記錄器按名字獲得,第一次訪問(wèn)時(shí)自動(dòng)創(chuàng)建(總是存在)


     如果約定每個(gè)類都只向其同名記錄器輸出日志,則在配置文件中可以針對(duì)每一個(gè)特定類進(jìn)行日志配置

 2.
     log4j.appender.存放器名稱=存放器類名
     目前,log4j實(shí)現(xiàn)的存放器類有以下幾種:
         org.apache.log4j.ConsoleAppender(控制臺(tái))
         org.apache.log4j.FileAppender(文件)
         org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個(gè)日志文件)
         org.apache.log4j.RollingFileAppender(文件大小到達(dá)指定尺寸的時(shí)候產(chǎn)生一個(gè)新的文件)
         org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)
  3.
     log4j.appender.存放器名稱.layout=布局器類名
     目前,log4j實(shí)現(xiàn)的布局器類有以下幾種:
         org.apache.log4j.PatternLayout(log4j的標(biāo)準(zhǔn)布局器,可以靈活地指定布局模式)
         org.apache.log4j.HTMLLayout(以HTML表格形式布局)
         org.apache.log4j.SimpleLayout(包含級(jí)別和日志信息的簡(jiǎn)單字符串)
         org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時(shí)間、線程、類別等等信息)
  4.
     設(shè)定布局器選項(xiàng)(主要是設(shè)定轉(zhuǎn)換格式)
         log4j.appender.存放器名稱.layout.選項(xiàng)名=值

     通常采用log4j的標(biāo)準(zhǔn)布局器:
         log4j.appender.存放器名稱.layout=org.apache.log4j.PatternLayout
         log4j.appender.存放器名稱.layout.ConversionPattern=格式化參數(shù)

     log4j采用類似C語(yǔ)言中printf函數(shù)的格式化參數(shù)格式化日志信息,參數(shù)如下:
         %m 輸出代碼中指定的信息
         %p 輸出優(yōu)先級(jí),即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL
         %r 輸出自布局器構(gòu)造到該時(shí)間點(diǎn)所經(jīng)過(guò)的毫秒數(shù)
         %c 輸出所屬的類目,通常就是所在類的全名
         %t 輸出產(chǎn)生該日志事件的線程名
         %n 輸出一個(gè)回車換行符,Windows平臺(tái)為“/r/n”,Unix平臺(tái)為“/n”
         %d 輸出該時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601,也可以在其后指定格式。如:%d{yyy MMM dd HH:mm:ss,SSS},輸出類

似:08 十二月 03 12:04:52,531
         %l 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。如:Testlog4.main(TestLog4.java:10)
         %F 輸出文件名
         %L 輸出行號(hào)

二、在代碼中調(diào)用log4j
  1.將log4j的jar包(log4j-1.2.15.jar)導(dǎo)入到工程中。
  2.寫配置文件log4j.properties,放在src目錄下,系統(tǒng)運(yùn)行時(shí)自動(dòng)拷貝到bin目錄下。


1.<span  >    
   2. import  org.apache.log4j.Logger;  
   3.    ...  
   4.private  static  final  Logger log = Logger.getLogger(類名.class );  
   5. ...  
   6. log.debug( Object message );  
   7. log.info( Object message );  
   8. log.warn( Object message );  
   9. log.error( Object message );  
  10.     
  11.</span>  
  import org.apache.log4j.Logger;
  ...
  private static final Logger log = Logger.getLogger(類名.class);
  ...
  log.debug( Object message );
  log.info( Object message );
  log.warn( Object message );
  log.error( Object message );

三、log4j.properties的例子


  1.< span  style ="font-family: courier new,courier;" >   
   2.# Set root logger priority to INFO and its only appender to CONSOLE.  
   3.log4j.rootLogger =INFO , CONSOLE  
   4.log4j.rootLogger =INFO , CONSOLE, LOGFILE  
   5.  
   6.# Set the enterprise logger category to FATAL and its only appender to CONSOLE.  
   7.log4j.logger.org.apache.axis.enterprise =FATAL , CONSOLE  
   8.    
   9.# CONSOLE is set to be a ConsoleAppender using a PatternLayout.  
  10.log4j.appender.CONSOLE =org .apache.log4j.ConsoleAppender  
  11.log4j.appender.CONSOLE.Threshold =INFO   
  12.log4j.appender.CONSOLE.layout =org .apache.log4j.PatternLayout  
  13.      
  14.# Pattern to output the caller's file name and line number.  
  15.log4j.appender.CONSOLE.layout.ConversionPattern =%5p [%t] (%F:%L) - %m%n  
  16.
  17.# LOGFILE is set to be a File appender using a PatternLayout.  
  18.log4j.appender.LOGFILE =org .apache.log4j.FileAppender  
  19.log4j.appender.LOGFILE.File =axis .log  
  20.log4j.appender.LOGFILE.Append =true   
  21.log4j.appender.LOGFILE.Threshold =INFO   
  22.log4j.appender.LOGFILE.layout =org .apache.log4j.PatternLayout  
  23.log4j.appender.LOGFILE.layout.ConversionPattern =%-4r [%t] %-5p %c %x - %m%n  
  24.</ span >

# Set root logger priority to INFO and its only appender to CONSOLE.
log4j.rootLogger=INFO, CONSOLE
log4j.rootLogger=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
四、常見故障
log4j:WARN Please initialize the log4j system properly.
解決辦法:
【eclipse環(huán)境】將文件log4j.properties拷貝到src目錄下,運(yùn)行時(shí)會(huì)自動(dòng)拷貝到bin目錄下。之前可能需要Refresh。


示例:

log4j.rootLogger=INFO, cons, MyAppender
log4j.appender.syslog.encoding=UTF-8
log4j.appender.cons=org.apache.log4j.ConsoleAppender
log4j.appender.cons.layout=org.apache.log4j.SimpleLayout
#日志記錄器
log4j.appender.MyAppender=org.apache.log4j.RollingFileAppender
log4j.appender.MyAppender.File=/system.log
#log4j.appender.MyAppender.encoding=UTF-8
log4j.appender.MyAppender.MaxFileSize = 2048KB
log4j.appender.MyAppender.MaxBackupIndex = 20
log4j.appender.MyAppender.layout=org.apache.log4j.PatternLayout
#log4j.appender.MyAppender.layout.ConversionPattern=%d (%F:%L) %-5p --> %m%n
log4j.appender.MyAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %t %c - %m%n

#信息記錄器
log4j.additivity.MsgLogger = false
log4j.logger.MsgLogger=INFO, MsgAppender
log4j.appender.MsgAppender=org.apache.log4j.RollingFileAppender
#log4j.appender.MsgAppender.encoding=UTF-8
log4j.appender.MsgAppender.File=/msg.log
log4j.appender.MsgAppender.MaxFileSize = 2048KB
log4j.appender.MsgAppender.MaxBackupIndex = 20
log4j.appender.MsgAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.MsgAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

#數(shù)值記錄器
log4j.additivity.CollectValueLogger = false
log4j.logger.CollectValueLogger=INFO, CollectValueAppender
log4j.appender.CollectValueAppender=org.apache.log4j.RollingFileAppender
#log4j.appender.CollectValueAppender.encoding=UTF-8
log4j.appender.CollectValueAppender.File=/value.log
log4j.appender.CollectValueAppender.MaxFileSize = 20480KB
log4j.appender.CollectValueAppender.MaxBackupIndex = 20
log4j.appender.CollectValueAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.CollectValueAppender.layout.ConversionPattern=%m%n

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“l(fā)og4j如何配置和使用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

標(biāo)題名稱:log4j如何配置和使用-創(chuàng)新互聯(lián)
URL分享:http://muchs.cn/article30/dejjso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、全網(wǎng)營(yíng)銷推廣小程序開發(fā)、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)