將應(yīng)用的log4j換成logback

考慮到log4j很久不更新、性能相對(duì)弱,以及一些項(xiàng)目本身的原因,經(jīng)過(guò)較為謹(jǐn)慎的考慮,決定改用logback。遷移還是比較順利的,花了1個(gè)小時(shí)左右就搞定了,做個(gè)簡(jiǎn)單的筆記。

(1) 首先去掉所有l(wèi)og4j相關(guān)的依賴,主要有:

<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
</dependency>

以及:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
</dependency>

(2) 為項(xiàng)目添加以下依賴:

<!-- logback日志配置開始 -->
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-core</artifactId>
</dependency>
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-access</artifactId>
</dependency>
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>log4j-over-slf4j</artifactId>
</dependency>
<!-- logback日志配置結(jié)束 -->

(3) 刪除項(xiàng)目/src/main/resources目錄下的log4j.properties,并在該目錄添加logback.xml文件,logback.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <Target>System.out</Target>
        <encoder>
            <pattern>%date [%level] [%thread] %logger{80} [%file : %line] %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>%date [%level] [%thread] %logger{80} [%file : %line] %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${catalina.home}/logs/yzf/sql%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 保留 30天數(shù)據(jù),默認(rèn)無(wú)限-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
    </appender>
    <logger name="org.springframework" level="INFO" />
    <logger name="org.apache" level="INFO" />

    <logger name="com.itmuch" level="WARN" />
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

TIPS

(1) log4j-over-slf4j與slf4j-log4j12不能共存,可能會(huì)引發(fā)異常,詳見http://www.tuicool.com/articles/INveIf 。

(2) slf4j-api、slf4j-log4j12以及l(fā)og4j之間的關(guān)系http://blog.csdn.net/tengdazhang770960436/article/details/18006127

(3) 參考文檔:http://blog.csdn.net/chenminghe271/article/details/38682493

本文首發(fā)

http://www.itmuch.com/work-sum-log4j-to-logback/

干貨分享

全是干貨
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在此特此聲明:一下所有鏈接均來(lái)自互聯(lián)網(wǎng),在此記錄下我的查閱學(xué)習(xí)歷程,感謝各位原創(chuàng)作者的無(wú)私奉獻(xiàn) ! 技術(shù)一點(diǎn)一點(diǎn)積...
    遠(yuǎn)航的移動(dòng)開發(fā)歷程閱讀 11,556評(píng)論 12 197
  • 概述 在項(xiàng)目開發(fā)中,為了跟蹤代碼的運(yùn)行情況,常常要使用日志來(lái)記錄信息。在Java世界,有很多的日志工具庫(kù)來(lái)實(shí)現(xiàn)日志...
    靜默虛空閱讀 1,978評(píng)論 1 9
  • 今天做數(shù)據(jù)修復(fù)的時(shí)候,需要將處理過(guò)的跟未處理過(guò)的數(shù)據(jù)記錄到文件中,突然想到,這不就是日志系統(tǒng)嘛,所以就花點(diǎn)時(shí)間將接...
    ahutCnRui閱讀 681評(píng)論 0 0
  • 寫Java也有一段時(shí)間了,一直都有用slf4j log4j輸出日志的習(xí)慣。但是始終都是抱著“拿來(lái)主義”的態(tài)度,復(fù)制...
    Minimumy閱讀 1,472評(píng)論 1 7
  • 001 “哇,看了這么多套,這個(gè)最好啦,我和爸媽都喜歡大社區(qū),配套相對(duì)成熟,你喜歡買面積大的,而且附近又有幼兒園和...
    power女神閱讀 502評(píng)論 1 3

友情鏈接更多精彩內(nèi)容