Slf4j+Logback 整合及排包

一. 整合核心包

1.1 門(mén)面

Slf4j 基本的日志門(mén)面馋吗,核心API:org.slf4j:slf4j-api

1.2 核心實(shí)現(xiàn)

logback的核心實(shí)現(xiàn)層在ch.qos.logback:logback-core中

1.3 適配

logback針對(duì)Slf4j的適配層 ch.qos.logback:logback-classic

logback-classic會(huì)直接依賴(lài)其他兩項(xiàng),且一定是依賴(lài)能夠支持的最合適版本抖仅,所以顯式依賴(lài)logback-classic即可。

二. 基于依賴(lài)兼容

2.1 Slf4j 與JDK

Slf4j 2.0.x有不小的改動(dòng)残腌,不再主動(dòng)查找org.slf4j.impl.StaticLoggerBinder叠艳,而是改用JDK ServiceLoader(也就是SPI,Service Provider Interface) 的方式來(lái)加載實(shí)現(xiàn)怯屉。這是JDK 8中的特性.


24年6月

2.2. logback 與slf4j和JDK

24-6

2.3 小結(jié)

如果使用JDK 8蔚舀,建議選擇Slf4j 2.0 + Logback 1.3;
如果使用JDK 11及以上锨络,建議選擇Slf4j 2.0 + Logback 1.5

三. SpringBoot 兼容

Spring Boot通過(guò)spring-boot-starter-logging包直接依賴(lài)了Logback(然后再間接依賴(lài)了 Slf4j)赌躺,它通過(guò)org.springframework.boot.logging.LoggingSystem查找日志接口并自動(dòng)適配,所以我們使用Spring Boot時(shí)一般并不需要關(guān)心日志依賴(lài)羡儿,只管使用即可.


四. 橋接

實(shí)際項(xiàng)目中我們依賴(lài)的其他二方礼患,三方包中可能使用JCL/Log4j/Log4j2/JUL其他日志框架,為了使其能夠正常打印日志,舊需要做好橋接缅叠。
org.slf4j:jcl-over-slf4j
org.slf4j:log4j-over-slf4j
org.slf4j:jul-to-slf4j
org.apache.logging.log4j:log4j-to-slf4j log4j2 橋接到Slf4j

五. Maven排包

  1. 將要排掉的包通過(guò)引入一個(gè)占位的空包(版本號(hào)一般比較特殊咏瑟,比如999-not-exist),從而達(dá)到排包的目的痪署。但這種特殊版本的空包一般在Mvnrepository Central倉(cāng)庫(kù)是沒(méi)有的(各廠(chǎng)的私有倉(cāng)庫(kù)一般會(huì)有這種包)码泞,你可以自己搭建私有倉(cāng)庫(kù)并上傳這個(gè)版本,或者使用Version 99 Does Not Exist [16]也行狼犯。這是最完美的方案余寥,無(wú)論本地運(yùn)行還是遠(yuǎn)程編譯都不會(huì)有問(wèn)題。
  2. 將需要排掉的包使用<scope>provided</scope>標(biāo)識(shí)悯森,這樣這個(gè)包在編譯時(shí)會(huì)被跳過(guò)宋舷,從而達(dá)到排包的目的,但此包在本地運(yùn)行時(shí)仍會(huì)被引入瓢姻,導(dǎo)致本地運(yùn)行與遠(yuǎn)程機(jī)器環(huán)境差異祝蝠,不利于調(diào)試
  3. 使用maven-enforcer-plugin[17]插件標(biāo)識(shí)哪些包是要被排掉的,它只是一個(gè)校驗(yàn)幻碱,實(shí)際上你仍然需要在每個(gè)引入了錯(cuò)誤包的依賴(lài)中進(jìn)行排除

https://mp.weixin.qq.com/s/jABbG4MKvEiWXwdYwUk8SA

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绎狭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子褥傍,更是在濱河造成了極大的恐慌儡嘶,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恍风,死亡現(xiàn)場(chǎng)離奇詭異蹦狂,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)朋贬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)凯楔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人锦募,你說(shuō)我怎么就攤上這事摆屯。” “怎么了御滩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵鸥拧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我削解,道長(zhǎng)富弦,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任氛驮,我火速辦了婚禮腕柜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己盏缤,他們只是感情好砰蠢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著唉铜,像睡著了一般台舱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上潭流,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天竞惋,我揣著相機(jī)與錄音,去河邊找鬼灰嫉。 笑死拆宛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讼撒。 我是一名探鬼主播浑厚,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼根盒!你這毒婦竟也來(lái)了钳幅?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤郑象,失蹤者是張志新(化名)和其女友劉穎贡这,沒(méi)想到半個(gè)月后茬末,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體厂榛,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年丽惭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了击奶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡责掏,死狀恐怖柜砾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情换衬,我是刑警寧澤痰驱,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站瞳浦,受9級(jí)特大地震影響担映,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜叫潦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一蝇完、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦短蜕、人聲如沸氢架。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)岖研。三九已至,卻和暖如春警检,著一層夾襖步出監(jiān)牢的瞬間缎玫,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工解滓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赃磨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓洼裤,卻偏偏與公主長(zhǎng)得像邻辉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子腮鞍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

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