本篇文章給大家分享的是有關(guān)項(xiàng)目引入log4j而不是logback代碼的原因,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的廊坊網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!什么是slf4j
SLF4J,即簡(jiǎn)單日志門(mén)面(Simple Logging Facade for Java),不是具體的日志解決方案,它只服務(wù)于各種各樣的日志系統(tǒng)。按照官方的說(shuō)法,SLF4J是一個(gè)用于日志系統(tǒng)的簡(jiǎn)單Facade,允許最終用戶(hù)在部署其應(yīng)用時(shí)使用其所希望的日志System。
為什么使用slf4j
上面已經(jīng)介紹了slf4j,那么至于為什么使用它。Slf4j可以看成是接口,那么既然是接口,實(shí)現(xiàn)在哪里呢?實(shí)現(xiàn)就是基于你自己的系統(tǒng)需要引入什么日志。我這里使用了log4j作為slf4j的實(shí)現(xiàn)。那么就可以通過(guò)slf4j來(lái)輸出日志。
slf4j的解耦
試想一下,如果你使用了第三方的類(lèi)庫(kù),那么比如別人使用了java.util.logging.Logger這個(gè)類(lèi)庫(kù)系統(tǒng),那么你的項(xiàng)目使用的是log4j日志系統(tǒng),你是不是要重新引入2種日志系統(tǒng)呢?那現(xiàn)在就有人為了解決這個(gè)問(wèn)題,就提供了slf4j這個(gè)日志接口類(lèi)庫(kù)。你只要使用slf4j就可以了,至于你系統(tǒng)使用什么類(lèi)庫(kù)作為我的實(shí)現(xiàn),我不管。那么這樣問(wèn)題就解決了,這也符合java的面向?qū)ο缶幊獭?/p>
代碼部分,由于sprintboot 默認(rèn)使用logback,如果想用log4j, 需要排除掉logback的jar,引入log4j 的jar
看看依賴(lài)
org.slf4j slf4j-log4j12 log4j log4j 1.2.17 org.springframework.boot spring-boot-starter-web ch.qos.logback logback-classic ch.qos.logback logback-core org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine