「博客搬家」 原地址: 簡書 原發表時間: 2017-04-17html
本文介紹 SLF4J 和 Logback 在 Maven 項目中的用法,包括日誌框架的依賴、使用,以及 XML 配置文件的引入。本文的精華內容翻譯 Base22,文章來源見文末。java
經過簡單的幾個步驟,便可將 SLF4J 和 Logback 添加到 Maven 項目中。web
直接在 Maven Repository 中搜索 Logback
, 選擇使用量最大的「Logback Classic Module」, 將該依賴添加到 POM.xml 中,例如:api
<!-- 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>
複製代碼
將會在項目中導入以下類庫:bash
將 XML 配置文件 logback.xml
和 logback-test.xml
按照如下層次結構添加到項目中:app
其中,兩配置文件的內容以下:框架
** logback.xml **spa
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</encoder>
</appender>
<logger name="com.base22" level="TRACE"/>
<root level="debug">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
複製代碼
** logback-test.xml **翻譯
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
複製代碼
在 logback.xml
中能夠看到,包 com.base22
的 level 是 TRACE
, 經過設置 logger
節點,能夠指定特定包的 level。debug
除了特定包以外,項目的日誌 level 均由 root
節點指定。
使用 Log 時,須要在每一個 class
文件中進行初始化操做。
首先導入以下內容:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
複製代碼
以後可以使用以下語句引入 log :
static final Logger logger = LoggerFactory.getLogger(MyClassName.class);
複製代碼
其中 MyClassName
改成該類的類名。
亦可在類的構造方法中使用以下語句初始化:
Logger logger = LoggerFactory.getLogger(getClass());
複製代碼
以後可在方法中調用以下語句進行 log 操做:
logger.debug("debug");
logger.info("info");
複製代碼
日誌的級別 (level) 由低到高排列以下: