幾句話的事兒,LogBack急速使用

1.說說logback

在java的世界裏面好像歷來只有log4j,由於它是在太有名氣了。說實話,我也沒以爲它那裏很差,至少在我本身的項目裏,它工做的好好的。可是主流有一種聲音,在慢慢的放棄它,最始做俑者是log4j的做者,也是logback的做者,他本身說的,維護愈來愈困難,索性開個新的。因而就是logback了。那麼,這樣說來,世界級的大牛的認知層面跟咱們確定不在一個世界內,索性跟隨吧。慢慢體會。java

2.logback要引用的包

從網上找資料看到不少包,各類說法也不同,可是從我本身實踐的效果看,引用一下這個包就能夠了。

    <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>

3.一個配置的事情

這樣來講彷佛太簡單了,可是若是就是通常用用也確實如此,原本這就是一個配置的事情。彷佛都不用解釋什麼了。
引入包之後,在resources目錄中增長logback.xml,就這樣就能夠了。
你須要本身配置一點點內容。app

  • 第4行,這裏指定了一個正在運行中的日誌文件的名稱。這個須要你本身指定一下
  • 第15行,這裏指定了一個以月份爲目錄,日期爲文件名的日誌歸檔規則。
<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>logback</contextName>
    <property name="log.path" value="log/jwcwxds.log" />
    <!--輸出到控制檯-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd} %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!--輸出到文件-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>log/%d%d{yyyyMM}/jwcwxds.log.%d{yyyy-MM-dd}</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd} %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="trace">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>
    <!--</logger>-->
</configuration>

4.開始使用吧

在須要用到日誌的類的屬性中增長
protected Logger logger = LoggerFactory.getLogger(this.getClass());
在須要記錄日誌的位置使用
好比我要記錄三個參數和報錯信息
logger.error("XH={} XM={} CJ={} ERROR={}",XH,XM,CJ,e.getMessage());

5.效果

運行後在包同級也就是System.getProperty("user.dir")這個目錄裏面會產生一個log文件。裏面記錄着咱們再stdout中顯示同樣的內容。this

並且能夠按月劃分目錄,按日歸檔日誌。debug

相關文章
相關標籤/搜索