Java集成logback日志管理


首先導入相關logback依賴,本次創建的測試項目為maven 3.61,jdk1.8

logback的依賴
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>

然后是配置文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="true">//如果debug為true表示項目啟動時會檢索logback相關的啟動信息
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">//表示輸出到控制台
        <Target>System.out</Target>
        <encoder>
            <pattern>%highlight(%-5level) %d{HH:mm:ss.SSS} %m %n</pattern>
        </encoder>
    </appender>

    <!--保存出錯的信息-->
<!--    <appender name="SQL" class="ch.qos.logback.core.FileAppender">-->//把日志文件輸出到指定目錄下,保存為文件
<!--        <file>sql.log</file>-->
<!--        <append>true</append>-->
<!--        <immediateFlush>true</immediateFlush>-->
<!--        <encoder>-->
<!--            <pattern>%d{HH:mm:ss.SSS} %m %n</pattern>-->
<!--        </encoder>-->
<!--    </appender>-->

    <logger name="cn.schoolwow.quickdao" level="DEBUG" additivity="false">//日志過濾器,name表示需要過濾的包 level表示過濾級別 trace info debug error all 等等,不區分大小寫
        <appender-ref ref="stdout" />
    </logger>

    <logger name="top.redheart.logback.logbacktest" level="info" additivity="false">
    	<appender-ref ref="stdout"></appender-ref>
    </logger>

     <root level="debug">
        <appender-ref ref="stdout" />
    </root>
</configuration>

  

這是測試效果

 

級別測試

    public static void main(String[] args) {
//        User user = new User();
//        user.setName("zs");
//        user.setAge("29");
//        long save = dao.save(user);
//        logger.info("[插入用戶信息]user:{},結果:{}",user,save>0?"成功":"失敗");

        logger.trace("[這是trace級別的]");
        logger.info("[這是info級別的]");
        logger.debug("[這是debug級別的]");
        logger.warn("[這是warn級別的]");
        logger.error("[這是error級別的]");

    }

  1):當配置文件級別為trace時

 <root level="trace">
        <appender-ref ref="stdout"/>
 </root>

  結果為:

TRACE 16:41:38.704 [這是trace級別的]
INFO 16:41:38.704 [這是info級別的]
DEBUG 16:41:38.704 [這是debug級別的]
WARN 16:41:38.704 [這是warn級別的]
ERROR 16:41:38.705 [這是error級別的]

2)當配置文件級別為info時

 <root level="info">
        <appender-ref ref="stdout"/>
 </root>

 結果為:

INFO 16:43:37.873 [這是info級別的]
WARN 16:43:37.874 [這是warn級別的]
ERROR 16:43:37.874 [這是error級別的]

 

3)當配置文件級別為debug時

 <root level="debug">
        <appender-ref ref="stdout"/>
 </root>

  結果為:

INFO 16:44:31.944 [這是info級別的]
DEBUG 16:44:31.944 [這是debug級別的]
WARN 16:44:31.944 [這是warn級別的]
ERROR 16:44:31.944 [這是error級別的]

4)當配置文件為warn時

 <root level="warn">
        <appender-ref ref="stdout"/>
</root>

  結果為:

WARN 16:45:34.934 [這是warn級別的]
ERROR 16:45:34.936 [這是error級別的]

5)當配置文件級別為error時

<root level="error">
        <appender-ref ref="stdout"/>
</root>

  結果為:

ERROR 16:46:14.858 [這是error級別的] 

 

總結:

trace顯示的信息最多,包括所有級別的信息,其次就是debug,當級別為info,warn,error時,不會顯示trace,和debug的信息

故得出的結果

trace>debug>info>warn>error

 

配置細節,以后再更新。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM