首先導入相關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
配置細節,以后再更新。