spring mvc logback
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
最近才開始在項(xiàng)目中使用logback,有一種相見恨晚的感覺,因?yàn)樗茌p易的滿足了我的幾個(gè)需求:
?
? ? ? ? 1. 配置簡單,易于上手
? ? ? ? 2. 一個(gè)日志文件中只能某一個(gè)級別的日志
? ? ? ? 3. 一個(gè)類中可以指定多個(gè)不同的日志,并且生成的每個(gè)日志文件中只包含其本身的內(nèi)容
? ? ? ? 4. 可以關(guān)閉或者打開某幾個(gè)包的日志,并且可以設(shè)置不同的包使用不同的日志級別。
?
? ? ? ?一、易用性
? ? ? ? logback的易用性不用多講,只需要通過下面兩行就可以在console中輸出日志:
?
[java]?view plaincopyprint?
? ? ? 程序運(yùn)行時(shí),logback會查找默認(rèn)的配置文件logback.xml或者logback-test.xml文件,如果沒有找到它就會使用默認(rèn)的配置,將日志打印到console中。下面是一個(gè)簡單配置文件(http://logback.qos.ch/manual/configuration.html):
?
[html]?view plaincopyprint?
? ??? ?二、日志級別限制
?
? ? ? ?在多數(shù)的Log工具中,級別是可以傳遞,例如如果指定了日志輸出級別為DEBUG,那么INFO、ERROR級別的log也會出現(xiàn)在日志文件。這種默認(rèn)給程序的調(diào)試帶來了很多的麻煩。而在logback中可以通過appender中的filter來嚴(yán)格限制日志的輸出級別:
?
[html]?view plaincopyprint?
上面的設(shè)置中只會在文件中出現(xiàn)級別為INFO的日志內(nèi)容。
?
?
? ? ?三、同一個(gè)類中包含不同的日志
? ? ?有時(shí)候一個(gè)類中可能要求打印不同的日志信息,例如有的用來調(diào)試,有的用來記錄程序運(yùn)行中的某些參數(shù)的變化等等。這時(shí)候可以通過下面的語句聲明不同的日志:
?
[java]?view plaincopyprint?
? ? 然后在配置文件中分別指定不同的輸出文件(debugLogger使用默認(rèn)的配置):
?
?
[html]?view plaincopyprint?
?這里通過設(shè)置additivity="false"禁止monitor里的內(nèi)容向上傳遞,否則會同時(shí)顯示在默認(rèn)的日志中。
?
?
? ? ? ? ?四、精確控制日志的應(yīng)用范圍
? ? ? ? ?在程序調(diào)試中,經(jīng)常出現(xiàn)的情況是:錯誤只在某一個(gè)或者幾個(gè)類或者包里,所以只需要打開這幾個(gè)類或者包里的DEBUG級別的log。在以前的項(xiàng)目,使用Spring和Hibernate時(shí),一旦打開DEBUG級別的log,程序本身的debug信息就會被Spring和Hibernate的大量日志淹沒,大大降低了調(diào)試的效率。而logback讓這一切變的簡單起來了:
?
[html]?view plaincopyprint?
這一行就將org包下面的所有日志級別設(shè)為了ERROR,不會再打擾我們的DEBUG
?
?
轉(zhuǎn)載于:https://my.oschina.net/u/2458549/blog/850678
總結(jié)
以上是生活随笔為你收集整理的spring mvc logback的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网协议入门(一)
- 下一篇: ros使用QT插件开发