8.玩转Spring Boot 日志配置

玩转Spring Boot 日志配置


      Spring Boot 使用Commons Logging作为内部日志记录。对Java Util Logging, Log4J2 and Logback. 提供了默认的配置。默认情况下在控制台输出也可以配置输出到文件中。默认使用Logback作为日志记录。

1.日志格式

      Spring Boot 默认输出的日志格式如下:
2014-03-05 10:57:51.112  INFO 45469 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/7.0.52
2014-03-05 10:57:51.253  INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2014-03-05 10:57:51.253  INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1358 ms
2014-03-05 10:57:51.698  INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'dispatcherServlet' to [/]
2014-03-05 10:57:51.702  INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
输出的节点如下:
(1)日期和时间 - 精确到毫秒,且易于排序。
(2)日志级别 - ERROR, WARN, INFO, DEBUG 或 TRACE。
(3)Process ID。
(4)一个用于区分实际日志信息开头的---分隔符。
(5)线程名 - 包括在方括号中(控制台输出可能会被截断)。
(6)日志名 - 通常是源class的类名(缩写)。
(7)日志信息。

2.输出到控制台

      默认的日志配置将日志输出到控制台中。可以通过命令行开启DeBug模式,例如:
java -jar myapp.jar --debug
也可以在application.properties增加属性debug=true,效果一样,如果看过前面的文章的话,应该知道优先级。

3.输出为彩色

      在application.properties文件中设置:spring.output.ansi.enabled设置即可,spring.output.ansi.enabled有三个值:
     (1)NEVER : 从不使用
     (2)DETECT : 自动检查终端是否支持ANSI,如果支持则使用( 建议使用
     (3)ALWAYS :总是使用,如果终端不支持的话,会出现一些特殊字符。

4.输出到文件中

      输出到文件只需要在application.properties文件中设置logging.file或者logging.path。下面是官方给出的组合使用表:
logging.file logging.path 示例 描述
(none) (none)    
指定具体文件 (none) my.log 写到特定的日志文件里,名称可以是一个精确的位置或相对于当前目录
(none) 指定具体路径 /var/log 写到特定文件夹下的spring.log里,名称可以是一个精确的位置或相对于当前目录

5.设置日志级别

      在application.properties文件设置:logging.level,例如:
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

6.自定义配置

      Spring Boot 会根据当前使用的日志类别来自动加载以下配置:
Logger System 加载文件
Logback logback-spring.xml, logback-spring.groovy, logback.xml or logback.groovy
Log4j2 log4j2-spring.xml or log4j2.xml
JDK (Java Util Logging) logging.properties

     注意:logback-spring.xml与logback.xml的区别,使用logback-spring.xml的话,是可以使用Spring profile的支持,而logback.xml是不可以使用的。
例如配置多环境日志,代码如下:


    
    
   
    
    
        
    
 
   
    
    
        
    
   
以上的意思:配置了org.springframework默认级别为:DEBUG,在开发环境下修改为INFO级别,在生产环境下为ERROR级别

     具体内容就不叙述了,请参照logback或者log4j的配置。


有兴趣的朋友可以加群探讨相互学习:

Spring Boot QQ交流群:599546061

你可能感兴趣的:(Spring,Boot)