slf4j+log4j實現web專案日誌輸出
阿新 • • 發佈:2019-02-10
基於slf4j 和 log4j實現web專案的日誌輸出
一:匯入相關依賴
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency>
slf4j-log4j12:用於log4j適配sjf4j
二:專案下建立log4j.properties(檔名稱不可更改,log4j自動根據名稱載入檔案)
編輯log4j.properties
# DEBUG,INFO,WARN,ERROR,FATAL 日誌等級 LOG_LEVEL=INFO log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE # 定義像控制檯輸出時候的相關屬性 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender #設定編碼 log4j.appender.CONSOLE.Encoding=utf-8 #設定輸出日誌的格式 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd} %C{1}@(%F:%L):%m%n # 定義向檔案輸出日誌時候的相關屬性 log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender # 輸出到專案下的Spring.log檔案中 log4j.appender.FILE.File=Spring.log # 設定編碼 log4j.appender.FILE.Encoding=utf-8 # 設定樣式 log4j.appender.FILE.DatePattern='.'yyyy-MM-dd log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n
三:測試
package wxApp; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TestController { @Test public void testLog(){ Logger log = LoggerFactory.getLogger(this.getClass()); log.trace("這是rrace日誌。。。"); log.debug("這是debuug日誌。。。"); log.info("這是info日誌。。。"); log.warn("這是warn日誌。。。"); log.error("這是error日誌。。。"); } }
控制檯日誌列印:因為日誌級別是info,所以只有三個輸出
檔案日誌列印:
tigs:如果輸出的時候出現以下日誌
log4j:WARN Error initializing output writer.
log4j:WARN Unsupported encoding?
說明log4j.appender.CONSOLE.Encoding=utf-8 這一句的中間或者結尾出現空格,去除即可