简介
本文主要介绍下spring Boot 对日志的配置管理和结合`springProfile` 实现多环境logback日志配置.
Spring Boot 日志配置
Spring Boot默认为JavaUtil Logging,Log4j,Logback提供自动化配置.默认情况下,Spring Boot会将`ERROR,WARN和INFO级别`的日志打印在控制台,我们也可以配置其打印在文件里.
默认的日志格式
屏幕太小,一行显示不开..大家伙凑合着看吧..
其输出的内容包括:
日期和时间- 精确到毫秒,且易于排序。
日志级别 - ERROR, WARN, INFO, DEBUG 或 TRACE。
Process ID。
一个用于区分实际日志信息开头的---分隔符。
线程名 - 包括在方括号中(控制台输出可能会被截断)。
日志名 - 通常是源class的类名(缩写)。
日志信息。
配置日志信息输出到文件和日志级别
只配置`logging.file`属性
只配置`logging.path`属性
日志文件切割
默认情况下,Spring Boot对日志文件每10M进行一次切割.
日志级别配置
将`cn.veryjava`包的日志打印级别设置为error之后,对比默认的日志输出,你会发现,控制台少打印了`cn.veryjava`包下的日志信息.
自定义日志配置
由于日志的配置文件是在Spring Context加载之前进行加载的,所以我们无法使用`@Configuration`来控制日志的配置.
Spring Boot在启动时会检查`src/main/resources/`目录或者通过`logging.config`属性指定的位置,通过不同的文件名区分使用不同的日志系统.
通常情况,日志文件名和日志系统对应关系如下:
`springProfile`多环境logback配置
由于我们要使用的是spring提供的profile功能,因此需要在上述介绍基础上修改配置文件的文件名为`logback-spring.xml`
logback-spring.xml
其中,利用``的`name`属性来区分不同的环境,其余跟正常配置一样.
在test环境启动
在IDE中设置`spring.profiles.active=test`或者直接命令行使用`Java -jar log.jar --spring.profiles.active=test`
查看控制台输出和文件输出,发现,控制台仅仅只显示banner,而日志输出文件中则显示剩余全部内容.
代码