logback引發(fā)的總結(jié)

今天做數(shù)據(jù)修復(fù)的時候利术,需要將處理過的跟未處理過的數(shù)據(jù)記錄到文件中,突然想到低矮,這不就是日志系統(tǒng)嘛印叁,所以就花點(diǎn)時間將接觸過的日志框架組件類包整理總結(jié)一下,之前也沒這么靜下來認(rèn)真的做過總結(jié)商佛,只是一味的拿來主義喉钢。其實寫這篇博客也借鑒了好多大神的博客姆打,感謝他們的無私分享良姆。

OK,開始吧幔戏,日志記錄其實就是文件操作玛追。所以,自己寫了個小方法闲延,簡易實現(xiàn)了一下痊剖,如下


上面這方法陆馁,一個文件追加滿足日常日志記錄叮贩,但太過于粗糙益老,也因此激發(fā)了我對日志記錄框架的興趣寸莫,想一探究竟膘茎。

自己接觸過的日志類包或框架:commons-logging酷誓、log4j呛牲、logback娘扩、logstash琐旁,我們都來看看猜绣。

1. commons-logging

簡介

commons-logging 應(yīng)該是學(xué)習(xí)日志系統(tǒng)最早接觸到類庫掰邢,是Apache commons類庫中的一員。

commons Logging(JCL)提供的是一個日志(Log)接口(interface)掰伸,同時兼顧輕量級和不依賴于具體的日志實現(xiàn)工具狮鸭。它提供給中間件/日志工具開發(fā)者一個簡單的日志操作抽象歧蕉,允許開發(fā)人員使用不同的具體日志實現(xiàn)工具康铭。

commons-logging 本身日志功能很弱,只一個簡單的SimpeLog催跪,所以一般結(jié)合log4j使用叠荠。

commons-logging 提供了一個統(tǒng)一的日志接口扫责,配置文件可缺省,簡化操作者娱,將項目與環(huán)境中日志系統(tǒng)解耦黄鳍。

加載配置機(jī)制

commons-logging可以自動掃描classpath下文件:按以下順序匹配選擇實現(xiàn)類(官網(wǎng)翻譯,可能有誤藏古,歡迎指正)

(1) 找一個叫org.apache.commons.logging.Log的工廠屬性拧晕。

可以通過Java代碼顯示設(shè)置配置屬性---classpath下放一個commons-logging.properties配置文件即可梅垄。

當(dāng)找到不止一個properties文件時候队丝,使用第一個找到的文件。在文件中定義所需屬性

(2) 當(dāng)(1)未找到臭墨,則繼續(xù)查找是否有org.apache.commons.logging.Log類裙犹,在類中定義屬性

(3) 當(dāng)classpach中有Log4j包時衔憨,使用相應(yīng)的wrapper類(Log4JLogger)

(4) 當(dāng)應(yīng)用程序運(yùn)行在jdk1.4上面践图,貌似只能使用jdk自己的包裝(wrapper)類(jdk14Logger)

(5) 若以上步驟都未能匹配到码党,則只能使用自己提供的日志包裝類 SimpeLog

commons-logging能夠選擇使用Log4j還是JDK Logging揖盘,但不依賴Log4j,JDK Logging的API兽狭。使用commons-logging能夠靈活的選擇使用那些日志方式箕慧,而且不需要修改源代碼颠焦。

源碼詳解剖析參考,要感謝下面這些博主:

ref:?http://blog.csdn.net/u011794238/article/details/50749260

ref:?http://blog.csdn.net/wiker_yong/article/details/23551209

2. log4j

官方介紹---why log4j ?

使用log4j可以在運(yùn)行時啟用日志記錄粉渠,而無需修改應(yīng)用程序二進(jìn)制文件渣叛。log4j包的設(shè)計是為了使這些語句淳衙,能保留在附帶的代碼中饺著,不產(chǎn)生很大的性能損失⊙ヵ耍可在配置文件中調(diào)整日志記錄級別debug-info梢睛,無需重啟應(yīng)用识椰。... ...

log4j 的一個顯著特點(diǎn)就是在日志記錄器繼承的概念腹鹉。使用到日志層次機(jī)構(gòu),讓日志可以在更細(xì)的任務(wù)中輸出... ...

結(jié)合commons-logging 集成 log4j 配置

(1) log4j.configuration = log4j.properties 使用該配置Log4j屬性文件名愉阎,默認(rèn)名為log4j.properties

(2) log4j.rootCategory = priority[,appender]* 設(shè)置缺省日志記錄器優(yōu)先級

(3) log4j.log.logger.name = priority 設(shè)置日志記錄器優(yōu)先級榜旦,所有日志記錄器級別都低于指定的日志記錄器景殷。

通過LogFactory.getLog(logger.name) 獲取指定名字的實例澡屡,優(yōu)先級可:DEBUG/INFO/WARN/ERROR/FATAL

通過log4j.logger.org.apache.component = DEBUG挪蹭,可讓所有Component類輸出日志梁厉,別的Apache項目除外

(4) log4j.appender.appender.Threshold = priority 可以將日志輸出到指定不同的設(shè)備词顾,日志類型《= 指定優(yōu)先級

配置參考資料肉盹,要感謝下面這些博主

ref:?http://www.codeceo.com/article/log4j-usage.html

ref:?https://my.oschina.net/zimingforever/blog/98048

ref:?http://blog.csdn.net/u011794238/article/details/50742658

ref:?http://blog.csdn.net/u011794238/article/details/50747953

3. logback + SLF4J

簡介

logback是log4j的升級版上忍,有點(diǎn)太多太多窍蓝,而SLF4J和LogBack還都是出自Log4J的創(chuàng)始人Ceki Gülcü之手吓笙,貌似現(xiàn)在好多項目都用到logback巾腕,需要結(jié)合slf4j一塊使用尊搬。

算啦毁嗦,此部分狗准,找到兩篇博客茵肃,詳細(xì)完美到佩服验残,不再贅述了,反正就是棒胆绊,實現(xiàn)了自動壓縮歸檔等等欧募。

不過,使用slf4j(java簡單日志門面)种冬,使用的時候娱两,注意選擇正確的橋接包十兢。

ref:?http://blog.csdn.net/yycdaizi/article/details/8276265

參考資料旱物,感謝下面這些博主

ref:?http://www.cnblogs.com/warking/p/5710303.html

ref:?https://www.oschina.net/translate/reasons-to-prefer-logbak-over-log4j

ref:?http://blog.csdn.net/liubo2012/article/details/46337063Slf4j MDC+logback分析

ref:?http://blog.csdn.net/sunzhenhua0608/article/details/29175283

ref:?https://logback.qos.ch/manual/mdc.html#autoMDC官網(wǎng)MDC教程

下面是自己使用logback + slf4j 實現(xiàn)自定義日志屬性輸出及心得

先將 logback.xml 配置貼上來

(1)? 配置日志輸出類型,指定appender name="自定義名稱"烤蜕、file 日志記錄全路徑讽营、 level橱鹏、以及歸檔備份路徑等等
(2) 注冊logger包裝類
(3) 在需要進(jìn)行日志記錄的地方,從工廠中獲取名為monitor的日志器

4. logstash 分布式日志收集

這個就厲害了礁竞,但是我還不太了解捶朵,不過蜘矢,穩(wěn)住品腹,我們能贏红碑,后面我先學(xué)習(xí)一下舞吭,再來更新,^_^句喷、先看看下面的教程吧......

ref:?http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末镣典,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子唾琼,更是在濱河造成了極大的恐慌兄春,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锡溯,死亡現(xiàn)場離奇詭異赶舆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)祭饭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門芜茵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人猪钮,你說我怎么就攤上這事笆载∧逡” “怎么了缀拭?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵勾效,是天一觀的道長其监。 經(jīng)常有香客問我毁菱,道長究西,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任晕拆,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拱撵。我一直安慰自己乓旗,他們只是感情好妆距,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪糕珊。 梳的紋絲不亂的頭發(fā)上喇肋,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死茶行,一個胖子當(dāng)著我的面吹牛姿锭,可吹牛的內(nèi)容都是我干的焚鲜。 我是一名探鬼主播凭语,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼状囱!你這毒婦竟也來了猾编?” 一聲冷哼從身側(cè)響起港庄,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笨篷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冕臭,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年奸例,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜜自。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罩扇。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖员帮,靈堂內(nèi)的尸體忽然破棺而出或粮,到底是詐尸還是另有隱情,我是刑警寧澤捞高,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布氯材,位于F島的核電站,受9級特大地震影響硝岗,放射性物質(zhì)發(fā)生泄漏氢哮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一型檀、第九天 我趴在偏房一處隱蔽的房頂上張望冗尤。 院中可真熱鬧,春花似錦、人聲如沸生闲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碍讯。三九已至悬蔽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捉兴,已是汗流浹背蝎困。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留倍啥,地道東北人禾乘。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像虽缕,于是被迫代替她去往敵國和親始藕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

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