SpringBoot中log4j的使用


首先我們明確一下,Spring boot其實已經默認集成了slf4j-log,同時也是默認開啟的。但是很多小伙伴習慣性使用log4j,並且我們框架也是用的log4j。於是乎,有了這篇log4j的簡單介紹及其使用。

1、修改spring-boot-starter的dependency,剔除集成的logging

 

<dependency>
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-starter</artifactId> 
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
  </exclusions>
</dependency>

 

2、引入需要使用的log4j jar

 

<dependency>
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-starter-log4j</artifactId> 
  <version>1.3.8.RELEASE</version>
</dependency>

 3、引入配置文件

其實您也可以完全不使用配置文件,而是在代碼中配置Log4j環境。但是,使用配置文件將使您的應用程序更加靈活。Log4j支持兩種配置文件格式,一種是XML格式的文件,一種是Java特性文件(鍵=值),即properties文件。

具體介紹配置之前,大家先了解一下Log4j由三個重要的組件構成

日志信息的優先級、日志信息的輸出目的地、日志信息的輸出格式

日志信息的優先級從高到低有ERROR、WARN、 INFO、DEBUG,分別用來指定這條日志信息的重要程度;

日志信息的輸出目的地指定了日志將打印到控制台還是文件中;

而輸出格式則控制了日志信息的顯示內容。

由於我們框架使用的就是xml格式,即log4j.xml,這里就不做過多介紹,以properties格式為例介紹一下其相關配置

1.配置根Logger,其語法為:


log4j.rootLogger = [ level ] , appenderName, appenderName, …

 其中,level 是日志記錄的優先級,分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級別。Log4j建議只使用四個級別,優 先級從高到低分別是ERROR、WARN、INFO、DEBUG。通過在這里定義的級別,您可以控制到應用程序中相應級別的日志信息的開關。

appenderName就是指B日志信息輸出到哪個地方。您可以同時指定多個輸出目的地。比如:stdout代表控制台、file代表文件

2.配置日志信息輸出目的地Appender,Log4j提供的appender有以下幾種:

org.apache.log4j.ConsoleAppender(控制台), 
org.apache.log4j.FileAppender(文件), 
org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件), 
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件), 
org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)



不光根指定了輸出目的地,還可以對該輸出做一些格式布局,其中,Log4j提供的layout有以幾種:

org.apache.log4j.HTMLLayout(以HTML表格形式布局), 
org.apache.log4j.PatternLayout(可以靈活地指定布局模式), 
org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串), 
org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息

 

最后再介紹幾個項目中常規的用法

1、打印druid連接池的sql

log4j.logger.druid.sql.Statement=ERROR,可以改變其值來調整監控優先級,比如需要打印出所有druid連接池調用的sql,則只需改成DEBUG,就等同於我們項目上把log4j.xml做如下配置

 

<logger name="druid.sql.Statement">
<level value="DEBUG" />
</logger>

2、指定輸出文件名

log4j.appender.file.file=logs/springboot.log

請使用手機"掃一掃"x


免責聲明!

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



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