日志推薦
? ?????1、在使用日志時(shí)應(yīng)該使用抽象層接口日志框架來(lái)記錄日志,方便以后的擴(kuò)展和更換日志框架;
? ? ? ? 2表谊、日志抽象層框架推薦:
????????????????JCL(Jakarta Commons Logging):Spring4以前使用的日志框架,5以后放棄了盖喷;
?????????????????SLF4j(Simple Logging Facade for Java):推薦使用的框架爆办;
?????????????????jboss-logging:這個(gè)日志框架使用較少不推薦使用;
????????3传蹈、日志實(shí)現(xiàn)層框架推薦:
???????????????JUL(java.util.logging):這個(gè)是jdk中自帶的日志框架押逼,不推薦使用;
? ??????????????Log4j :這個(gè)是老一代的日志框架惦界,也不推薦使用挑格;
????????????????Logback:log4j和slf4j以及l(fā)ogback都是都一個(gè)人出的日志框架,兼容性更好功能更強(qiáng)大沾歪,推薦使用漂彤;
????????????????Log4j2 :這個(gè)是apache在log4j的基礎(chǔ)上新出的框架,功能也很強(qiáng)大灾搏,但是logback還是首選挫望;
如何使用SLF4J
????????如上圖所示,要使用slf4j日志框架作為抽象層日志框架狂窑,首先需要導(dǎo)入slf4j的jar包媳板,然后導(dǎo)入實(shí)現(xiàn)了slf4j的日志實(shí)現(xiàn)jar包才能正常使用日志記錄的功能;
? ? ? ? 由于log4j和jul是老的日志框架泉哈,并沒(méi)有實(shí)現(xiàn)slf4j蛉幸,所以如果使用log4j或者jul來(lái)做日志實(shí)現(xiàn)層的日志記錄功能,需要引入一個(gè)slf4j提供放入適配jar包丛晦,從而才能進(jìn)行正常的日志記錄功能奕纫;
實(shí)際項(xiàng)目中遇到的問(wèn)題
? ? ? ? 由于在實(shí)際的項(xiàng)目中,我們需要使用和依賴第三方的框架進(jìn)行操作烫沙,這時(shí)會(huì)出現(xiàn)使用的第三方框架使用的日志并不是我們項(xiàng)目中正使用的日志框架匹层,如果直接排除第三方的日志框架會(huì)報(bào)錯(cuò),這個(gè)時(shí)候該如何讓項(xiàng)目中統(tǒng)一使用我們自己選擇的日志框架呢锌蓄?
? ? ? ? 上圖表示的是升筏,如何在項(xiàng)目中使用logback來(lái)記錄日志的流程;
? ? ? ? ????????1瘸爽、首先需要導(dǎo)入抽象層slf4j的jar包仰冠;
? ? ? ? ????????2、排除掉各三方框架對(duì)應(yīng)的日志框架依賴包蝶糯;
? ? ? ? ????????3洋只、導(dǎo)入slf4j提供的jcl、log4j昼捍、jul的替換包识虚;
? ? ? ? ????????4、再導(dǎo)入logback的jar包即可妒茬;
? ????????替換包所做的功能只是使用其他日志框架的相同類路徑担锤,在具體類中對(duì)slf4j進(jìn)行了適配而已;