柚子快報激活碼778899分享:log4j logging
柚子快報激活碼778899分享:log4j logging
日志
日志的概念
處理歷史數(shù)據(jù)、診斷問題理解系統(tǒng)的重要作用。
日志的作用
調(diào)試:在開發(fā)過程中進行代碼調(diào)試。 錯誤定位:項目在運行一段時間后,網(wǎng)絡(luò)原因,數(shù)據(jù)問題,內(nèi)存問題出現(xiàn)異常。這時日志可以幫助我們快速定位錯誤位置。 數(shù)據(jù)分析
接觸過的日志
最簡單的日志輸出,我們每天都在用
System.out.println("日志輸出");
錯誤的日志:
System.err.println("錯誤...");
主流的日志框架
日志實現(xiàn)(具體干活的):JUL(java.util.logging)、logback(最火)、log4j、log4j2 日志門面(指定規(guī)則的):JCL、slf4j。
ECMAScript:簡稱ES,規(guī)范的指定者
JavaScript:簡稱JS,規(guī)范的實現(xiàn)者
JUL
JUL全程java.util.logging是Java原生的日志框架,使用時候不需要引入任何第三方依賴,相對于其他日志框架來說使用方便,在小型的應用中。
在JUL中有以下組件:
Loggers:記錄器 Appenders:決定了日志記錄的位置可以是控制臺、文件、網(wǎng)絡(luò)上的url地址 Layouts:對日志信息進行格式化 Level:日志的等級 Filters:過濾器,我們可以根據(jù)需要定制哪些信息需要記錄,哪些不需要記錄
日志的級別
在java.util.logging.Level中定義了日志的級別:
SEVERE(最高值) WARNING INFO(默認級別) CONFIG FINE FINER FINEST(最低值)
還有兩個特殊的級別:
OFF:可用來關(guān)閉日志記錄 ALL:啟用所有消息的日志記錄
LOG4J
Log4j是apache下的一款開源的日志框架。這是一款比較經(jīng)典日志框架,目前依然有一些老舊的項目在使用Log4j,Log4j2并不是Log4j的升級版,對Log4j的改動特別大。
log4j定義的日志級別:從高到低
fatal:嚴重的錯誤,會影響程序的執(zhí)行,會導致程序的退出 error:雖然發(fā)生錯誤事件,但是不影響系統(tǒng)的繼續(xù)運行 warn:會出現(xiàn)潛在的可能影響程序運行的錯誤 info:一般會監(jiān)控程序運行的全過程 debug:用來監(jiān)控調(diào)試信息 trace:用來追蹤全過程,方法,參數(shù),變量...
和JUL一樣,有兩個特殊的級別:OFF,用來關(guān)閉日志記錄。ALL,記錄所有消息日志。
一般情況下,我們只使用4個級別,error>warn>info>debug。
日志門面
日志門面:規(guī)范。
日志門面相當于菜單,日志實現(xiàn)就相當于廚師。
常見的日志門面:JCL,SLF4J
常見的日志實現(xiàn):JUL,LOG4J,logback,LOG4J2
SLF4J
目前是市面上最流行的日志門面?,F(xiàn)在的項目中,基本上都是使用的SLF4J作為日志系統(tǒng)。
SLF4J主要提供了兩大功能:
日志框架的綁定 日志框架的橋接
logback
如果要使用外部配置,需要在classpath下引入配置文件。
默認會先找logback-test.xml 如果沒有l(wèi)ogback-test,會去找logback.groovy 如果沒有l(wèi)ogback.groovy,會去找logback.xml
log4j2
參考logback的一些優(yōu)秀的設(shè)計。
帶來了一些重大的提升:
異常處理,在logback中,Appender的異常不會被應用感知的,在Logj2中,提供了一些異常處理機制 性能提升 自動重載配置
如果要使用外部配置:
xml properties yml json
默認會加載classpath下的log4j2.xml。
柚子快報激活碼778899分享:log4j logging
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。