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.filelogging.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加载文件
Logbacklogback-spring.xml, logback-spring.groovy, logback.xml or logback.groovy
Log4j2log4j2-spring.xml or log4j2.xml
JDK (Java Util Logging)logging.properties

     注意:logback-spring.xml与logback.xml的区别,使用logback-spring.xml的话,是可以使用Spring profile的支持,而logback.xml是不可以使用的。
例如配置多环境日志,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <logger name="org.springframework" level="DEBUG"/>
   
    <!-- 开发环境 -->
    <springProfile name="dev">
        <logger name="org.springframework" level="INFO"/>
    </springProfile>
 
   
    <!-- 生产环境 -->
    <springProfile name="prod">
        <logger name="org.springframework" level="ERROR"/>
    </springProfile>
   
</configuration>
以上的意思:配置了org.springframework默认级别为:DEBUG,在开发环境下修改为INFO级别,在生产环境下为ERROR级别

     具体内容就不叙述了,请参照logback或者log4j的配置。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值