log4j 詳細(xì)配置說明

1.先看一看公司開發(fā)日志文件翅雏,只有只有配置文件描述,配置說明人芽,對(duì)于初學(xué)者請(qǐng)見諒望几,不過下面的介紹會(huì)說很清楚

log4j.rootLogger=DEBUG,CONSOLE,A

log4j.addivity.org.apache=false

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.Threshold=DEBUG

log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-ddHH\:mm\:ss}-%-4r[%t]%-5p%x-%m%n

log4j.appender.CONSOLE.Target=System.out

log4j.appender.CONSOLE.Encoding=gbk

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

log4j.appender.A=org.apache.log4j.DailyRollingFileAppender

log4j.appender.A.File=${catalina.home}/logs/sys_log/PurePro_

log4j.appender.A.DatePattern=yyyy-MM-dd'.log'

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

log4j.appender.A.layout.ConversionPattern=[tea_sys]%d{yyyy-MM-ddHH\:mm\:ss}%5p%c{1}\:%L\:%m%n

log4j.appender.file.encoding=UTF-8

2. Log4j 簡(jiǎn)介

log4j ?是在web項(xiàng)目中,最常用日志管理組件 萤厅,他可以應(yīng)用多種語言當(dāng)中橄抹。他有三個(gè)基本的組件組成【loggers,Appenders,Layouts】.對(duì)于基本的開發(fā),我們只需要掌握如何使用就可以了惕味。如果想要了解更深入可以看看源碼楼誓。最新的官方地址:http://logging.apache.org/log4j/2.x/

Loggers 記錄器,指定日志級(jí)別及輸出的地方level[debug,info,warn,error]

Appenders輸出源的設(shè)定名挥,log4j 提供的appener 有如下幾種

#1)org.apache.log4j.ConsoleAppender(輸出到控制臺(tái))

#2)org.apache.log4j.FileAppender(輸出到文件)

#3)org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個(gè)日志文件)

#4)org.apache.log4j.RollingFileAppender(文件大小到達(dá)指定尺寸的時(shí)候產(chǎn)生一個(gè)新的文件)

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

那么如何使用呢疟羹?有兩種方式

第一種:log4j.appender.appenderName =org.apache.log4j.ConsoleAppender

第二種:就是上文中我們使用的方式。log4j.appender.A=org.apache.log4j.DailyRollingFileAppender

每個(gè)Appneder常用屬性有:

ConsoleAppender

Threshold=WARN:指定日志信息的最低輸出級(jí)別禀倔,默認(rèn)為DEBUG榄融。

ImmediateFlush=true:表示所有消息都會(huì)被立即輸出,設(shè)為false則不輸出蹋艺,默認(rèn)值是true剃袍。

Target=System.err:默認(rèn)值是System.out。

FileAppender

Threshold=WARN:指定日志信息的最低輸出級(jí)別捎谨,默認(rèn)為DEBUG民效。

ImmediateFlush=true:表示所有消息都會(huì)被立即輸出,設(shè)為false則不輸出涛救,默認(rèn)值是true畏邢。

Append=false:true表示消息增加到指定文件中,false則將消息覆蓋指定的文件內(nèi)容检吆,默認(rèn)值是true舒萎。

File=D:/logs/logging.log4j:指定消息輸出到logging.log4j文件中。

DailyRollingFileAppender

Threshold=WARN:指定日志信息的最低輸出級(jí)別蹭沛,默認(rèn)為DEBUG臂寝。

ImmediateFlush=true:表示所有消息都會(huì)被立即輸出,設(shè)為false則不輸出摊灭,默認(rèn)值是true咆贬。

Append=false:true表示消息增加到指定文件中,false則將消息覆蓋指定的文件內(nèi)容帚呼,默認(rèn)值是true掏缎。

File=D:/logs/logging.log4j:指定當(dāng)前消息輸出到logging.log4j文件中皱蹦。

DatePattern='.'yyyy-MM:每月滾動(dòng)一次日志文件,即每月產(chǎn)生一個(gè)新的日志文件眷蜈。當(dāng)前月的日志文件名為logging.log4j沪哺,前一個(gè)月的日志文件名為logging.log4j.yyyy-MM。

另外酌儒,也可以指定按周辜妓、天、時(shí)今豆、分等來滾動(dòng)日志文件嫌拣,對(duì)應(yīng)的格式如下:

1)'.'yyyy-MM:每月

2)'.'yyyy-ww:每周

3)'.'yyyy-MM-dd:每天

4)'.'yyyy-MM-dd-a:每天兩次

5)'.'yyyy-MM-dd-HH:每小時(shí)

6)'.'yyyy-MM-dd-HH-mm:每分鐘

RollingFileAppender

Threshold=WARN:指定日志信息的最低輸出級(jí)別,默認(rèn)為DEBUG呆躲。

ImmediateFlush=true:表示所有消息都會(huì)被立即輸出异逐,設(shè)為false則不輸出,默認(rèn)值是true插掂。

Append=false:true表示消息增加到指定文件中灰瞻,false則將消息覆蓋指定的文件內(nèi)容,默認(rèn)值是true辅甥。

File=D:/logs/logging.log4j:指定消息輸出到logging.log4j文件中酝润。

MaxFileSize=100KB:后綴可以是KB, MB 或者GB。在日志文件到達(dá)該大小時(shí)璃弄,將會(huì)自動(dòng)滾動(dòng)要销,即將原來的內(nèi)容移到logging.log4j.1文件中。

MaxBackupIndex=2:指定可以產(chǎn)生的滾動(dòng)文件的最大數(shù)夏块,例如疏咐,設(shè)為2則可以產(chǎn)生logging.log4j.1,logging.log4j.2兩個(gè)滾動(dòng)文件和一個(gè)logging.log4j文件脐供。

WriterAppender

Layouts 布局:指定日志信息的顯示格式浑塞,共有4中可選擇,只要兩種就夠用了政己。

HTMLLayout : 以html 格式布局

SimpleLayout :包含日志信息的級(jí)別和信息字符串

PatternLayout :可以靈活的指定布局模式

ConversionPattern=%m%n:設(shè)定以怎樣的格式顯示消息酌壕。

備注最后來個(gè)常用的格式化符號(hào)說明請(qǐng)參考:

%p:輸出日志信息的優(yōu)先級(jí),即DEBUG歇由,INFO卵牍,WARN,ERROR沦泌,F(xiàn)ATAL辽慕。

%d:輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601赦肃,也可以在其后指定格式,如:%d{yyyy/MM/dd HH:mm:ss,SSS}。

%r:輸出自應(yīng)用程序啟動(dòng)到輸出該log信息耗費(fèi)的毫秒數(shù)他宛。

%t:輸出產(chǎn)生該日志事件的線程名船侧。

%l:輸出日志事件的發(fā)生位置,相當(dāng)于%c.%M(%F:%L)的組合厅各,包括類全名镜撩、方法、文件名以及在代碼中的行數(shù)队塘。例如:test.TestLog4j.main(TestLog4j.java:10)袁梗。

%c:輸出日志信息所屬的類目,通常就是所在類的全名憔古。

%M:輸出產(chǎn)生日志信息的方法名遮怜。

%F:輸出日志消息產(chǎn)生時(shí)所在的文件名稱。

%L::輸出代碼中的行號(hào)鸿市。

%m::輸出代碼中指定的具體日志信息锯梁。

%n:輸出一個(gè)回車換行符,Windows平臺(tái)為"rn"焰情,Unix平臺(tái)為"n"陌凳。

%x:輸出和當(dāng)前線程相關(guān)聯(lián)的NDC(嵌套診斷環(huán)境),尤其用到像java servlets這樣的多客戶多線程的應(yīng)用中内舟。

%%:輸出一個(gè)"%"字符合敦。

另外,還可以在%與格式字符之間加上修飾符來控制其最小長(zhǎng)度验游、最大長(zhǎng)度充岛、和文本的對(duì)齊方式。如:

1) c:指定輸出category的名稱批狱,最小的長(zhǎng)度是20裸准,如果category的名稱長(zhǎng)度小于20的話,默認(rèn)的情況下右對(duì)齊赔硫。

2)%-20c:"-"號(hào)表示左對(duì)齊炒俱。

3)%.30c:指定輸出category的名稱,最大的長(zhǎng)度是30爪膊,如果category的名稱長(zhǎng)度大于30的話权悟,就會(huì)將左邊多出的字符截掉,但小于30的話也不會(huì)補(bǔ)空格推盛。

確定布局后峦阁,以什么樣的格式化輸出,用法如下:

log4j.appender.A.layout.ConversionPattern=[test_sys]%d{yyyy-MM-ddHH\:mm\:ss}%5p%c{1}\:%L\:%m%n

日志有5個(gè)級(jí)級(jí)別但是建議只使用4個(gè)級(jí)別 耘成,DEBUG < INFO < WARN < ERROR< FATAL榔昔,右邊級(jí)別比左邊的級(jí)別高一些驹闰,如果level 配置的是info ,那么所有debug 的信息

將都不會(huì)被打印出來。

log4j.rootLogger=[level],appenderName1,appenderName2

level 記錄器的級(jí)別撒会,

appendername:輸出源的名字嘹朗,他指定日志輸出到哪里,比如控制臺(tái)诵肛,日志文件屹培。

參考文章:

http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市怔檩,隨后出現(xiàn)的幾起案子褪秀,更是在濱河造成了極大的恐慌,老刑警劉巖薛训,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件媒吗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡许蓖,警方通過查閱死者的電腦和手機(jī)蝴猪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來膊爪,“玉大人自阱,你說我怎么就攤上這事∶壮辏” “怎么了沛豌?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赃额。 經(jīng)常有香客問我加派,道長(zhǎng),這世上最難降的妖魔是什么跳芳? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任芍锦,我火速辦了婚禮,結(jié)果婚禮上飞盆,老公的妹妹穿的比我還像新娘娄琉。我一直安慰自己,他們只是感情好吓歇,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布孽水。 她就那樣靜靜地躺著,像睡著了一般城看。 火紅的嫁衣襯著肌膚如雪女气。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天测柠,我揣著相機(jī)與錄音炼鞠,去河邊找鬼缘滥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛簇搅,可吹牛的內(nèi)容都是我干的完域。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼瘩将,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了凹耙?” 一聲冷哼從身側(cè)響起姿现,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肖抱,沒想到半個(gè)月后备典,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡意述,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年提佣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荤崇。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拌屏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出术荤,到底是詐尸還是另有隱情倚喂,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布瓣戚,位于F島的核電站端圈,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏子库。R本人自食惡果不足惜舱权,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仑嗅。 院中可真熱鬧宴倍,春花似錦、人聲如沸无畔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浑彰。三九已至恭理,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間郭变,已是汗流浹背颜价。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工涯保, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人周伦。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓夕春,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親专挪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子及志,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 在應(yīng)用程序中添加日志記錄總的來說基于三個(gè)目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 5,057評(píng)論 1 13
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個(gè)目的:監(jiān)視代碼中變量的變化情況寨腔,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 4,991評(píng)論 0 6
  • 一速侈、Log4j簡(jiǎn)介 Log4j有三個(gè)主要的組件:Loggers(記錄器),Appenders (輸出源)和Layo...
    默默守護(hù)閱讀 1,914評(píng)論 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一迫卢、L...
    enshunyan閱讀 3,294評(píng)論 0 0
  • log4j日志配置詳解倚搬,參考下面文章 http://blog.csdn.net/dr_guo/article/de...
    Alex_ct閱讀 343評(píng)論 0 0