日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

spring boot-Logging的配置以及使用

 WindySky 2017-10-10

前言:該篇文章基本上是翻譯的官方文檔!

spring boot使用Commons Logging作為內(nèi)部的日志系統(tǒng),并且給Java Util Logging,Log4J2以及Logback都提供了默認(rèn)的配置。如果使用了spring boot的Starters,那么默認(rèn)會使用Logback用于記錄日志。

一、Log format

spring boot中默認(rèn)的日志輸出格式如下:

  1. 2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine :  
  2. Starting Servlet Engine: Apache Tomcat/7.0.52  
  3. 2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] :  
  4. Initializing Spring embedded WebApplicationContext  
  5. 2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader :  
  6. Root WebApplicationContext: initialization completed in 1358 ms  
  7. 2014-03-05 10:57:51.698 INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean :  
  8. Mapping servlet: 'dispatcherServlet' to [/]  
  9. 2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean :  
  10. Mapping filter: 'hiddenHttpMethodFilter' to: [/*]  
以下項(xiàng)將會被輸出:

1、日期和時間--精確到毫秒,并按照時間進(jìn)行簡單的排序

2、日志級別--ERROR,WARN,INFO,DEBUG,TRACE

3、進(jìn)程ID號

4、日志內(nèi)容,用"---"分隔符分開

5、線程名字--括在方括號中

6、日志的名字--通常對應(yīng)的是類名

注意:Logback沒有FATAL級別(映射到ERROR)

二、控制臺輸出

默認(rèn)的日志配置將在寫入控制臺時回顯消息,默認(rèn)會回顯ERROR,WARN,和INFO級別的消息,你同樣可以在啟動的時候,啟用debug模式,啟動命令如下:java -jar yourapp.jar --debug

注意:你同樣可以在application.properties配置文件中指定debug=true,來開啟debug,模式

一旦開啟了debug模式,那么控制臺同時會輸出容器信息,hibernate信息和spring boot的信息

三、文件輸出

默認(rèn)情況下,spring boot只會將日志輸出到console,而不會輸出到日志文件中,如果你想將日志寫到日志文件中,那么需要在application.properties配置文件中設(shè)置logging.file或者是logging.path

注意:此處是或者的關(guān)系,也就是說,你配置logging.file或者是logging.path,效果是一樣的。

下面的表格將顯示如何進(jìn)行配置文件輸出:

logging.file logging.path Example 說明
      二者都不配置,則只輸出到Console
指定文件   my.log 寫入指定的日志文件。文件名可以是一個確切的
位置或相對目錄
  指定的目錄 /var/log 將日志文件寫入指定的目錄,目錄可以是一個確切的位置或者是一個相對目錄
默認(rèn)情況下,如果日志文件的大小達(dá)到10Mb的話,就會被截斷,輸出到新的日志文件中。

注意:日志的配置是獨(dú)立與實(shí)際的日志組件的,也就是說,如果為Logback指定配置的屬性為logback.configurationFile,那么spring boot將不會管理該日志組件。

四、日志級別

所有支持的日志系統(tǒng)都可以通過Spring Environment來指定日志級別,例如application.properties,可以使用“l(fā)ogging.level.*=LEVEL”來指定日志的級別,"LEVEL"的取值可以是TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF。配置示例如下:

  1. logging.level.root=WARN #root日志以WARN級別輸出  
  2. logging.level.org.springframework.web=DEBUG #org.springframework.web包下的日志以DEBUG級別輸出  
  3. logging.level.org.hibernate=ERROR #org.hibernate包下的日志以ERROR級別輸出  
如果,我們需要指定我們的應(yīng)用日志級別了,我們也可以使用同樣的方式,如下:

  1. logging.level.com.chhliu=INFO  
上面配置中的"com.chhliu"為我們應(yīng)用的包名。

五、自定義日志輸出格式

我們可以通過logging.pattern.file以及l(fā)ogging.pattern.level來配置我們需要的日志輸出格式,例如:

  1. logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n  
  2. logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n  
注意:以上配置,只對Logback起作用

六、使用Log4j打日志

前面說道,我們默認(rèn)的是使用Logback來作為日志系統(tǒng)的,那么,如果我們想使用Log4j來打日志,怎么辦了,我們需要在pom文件中加上Log4j的starter同時排除Logback,如下:

  1. <dependency>  
  2.     <groupId>org.springframework.boot</groupId>  
  3.     <artifactId>spring-boot-starter</artifactId>  
  4.     <exclusions>  
  5.         <exclusion>  
  6.             <groupId>org.springframework.boot</groupId>  
  7.             <artifactId>spring-boot-starter-logging</artifactId>  
  8.         </exclusion>  
  9.     </exclusions>  
  10. </dependency>  
  11. <dependency>  
  12.     <groupId>org.springframework.boot</groupId>  
  13.     <artifactId>spring-boot-starter-log4j</artifactId>  
  14. </dependency>  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多