您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)log4j中rootLogger的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
這里用的是org.apache.log4j.Logger
log4j.rootLogger=error, stdout log4j.appender.appenderName=org.apache.log4j.AsyncAppender log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n #only time no date.outfile1 has date log4j.logger.com.ht=info,outfile1 log4j.appender.outfile1=org.apache.log4j.RollingFileAppender log4j.appender.outfile1.File=log/ht.log log4j.appender.outfile1.MaxFileSize=100MB log4j.appender.outfile1.MaxBackupIndex=50 log4j.appender.outfile1.layout=org.apache.log4j.PatternLayout log4j.appender.outfile1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n log4j.logger.com.ht.log=info,outfile2 log4j.appender.outfile2=org.apache.log4j.RollingFileAppender log4j.appender.outfile2.File=log/ht2.log log4j.appender.outfile2.MaxFileSize=100MB log4j.appender.outfile2.MaxBackupIndex=50 log4j.appender.outfile2.layout=org.apache.log4j.PatternLayout log4j.appender.outfile2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
然后有兩個(gè)類,Test1在com.ht包下面,Test2在com.ht.log包下面。每個(gè)下面打印一句:logger.info();
Test1將輸出到控制臺(tái)和ht.log
Test2將輸出到控制臺(tái)和ht.log和ht2.log
注意這里rootLogger的級(jí)別可是error,可見這里的級(jí)別不起作用。
其實(shí),這里的error只對(duì)于沒有申明appender的包才起作用。如果去掉log4j.logger.com.ht.log這一句,Test1沒有任何輸出,除非logger.error才會(huì)輸出到控制臺(tái)。
第二點(diǎn):凡是申明appender的包,不論申明級(jí)別一定會(huì)包含rootLogger的輸出,如果同時(shí)指定了outfile,那么日志會(huì)出現(xiàn)兩份。
第三點(diǎn):com.ht.log這個(gè)包下面的類可以匹配到所有上級(jí)目錄的設(shè)置。
日志怎么設(shè)置要想清楚啊!不然這一句打到控制臺(tái)那句打到文件,出問題了查出來(lái)的日志不連貫,好幾個(gè)文件查來(lái)查去。
log4j.additivity.com.ht=false 可以不寫入rootLogger。默認(rèn)是true
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
level
:是日志記錄的優(yōu)先級(jí),分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級(jí)別。
Log4j建議只使用四個(gè)級(jí)別,優(yōu)先級(jí)從高到低分別是ERROR、WARN、INFO、DEBUG。
通過(guò)在這里定義的級(jí)別,您可以控制到應(yīng)用程序中相應(yīng)級(jí)別的日志信息的開關(guān)。
比如在這里定義了INFO級(jí)別,則應(yīng)用程序中所有DEBUG級(jí)別的日志信息將不被打印出來(lái)。
appenderName:就是指定日志信息輸出到哪個(gè)地方。您可以同時(shí)指定多個(gè)輸出目的地。
例如:
log4j.rootLogger=info,A1,B2,C3 配置了3個(gè)輸出地方,這個(gè)名字可以任意(如上面的db),但必須與我們?cè)诤竺孢M(jìn)行的設(shè)置名字對(duì)應(yīng);
感謝各位的閱讀!關(guān)于“l(fā)og4j中rootLogger的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。