Spring Boot系列之十 日志配置
来源:互联网 发布:探索性数据分析 pdf 编辑:程序博客网 时间:2024/05/02 02:52
求关注求收藏求转发求评论(咱们可以瞎扯)
哥哥姐姐们,我想转正啊,但是头条号指数不够, 啊哈哈. 谢谢咯.
简介
本文主要介绍下Spring Boot 对日志的配置管理和结合`springProfile` 实现多环境logback日志配置.
Spring Boot 日志配置
Spring Boot默认为Java Util 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
其中,利用`<springProfile>`的`name`属性来区分不同的环境,其余跟正常配置一样.
在test环境启动
在IDE中设置`spring.profiles.active=test`或者直接命令行使用`java -jar log.jar --spring.profiles.active=test`
查看控制台输出和文件输出,发现,控制台仅仅只显示banner,而日志输出文件中则显示剩余全部内容.
代码
本文限于篇幅原因,不能展示所有的代码,如果想要完整的代码示例,请移步 https://github.com/sunshineasbefore/veryjava.spring.boot/tree/master/log
支持请点赞,不喜勿喷.
每天一点点,成长多一点.
- Spring Boot系列之十 日志配置
- Spring Boot之日志配置
- Spring Boot (教程十: 日志)
- Spring boot日志配置
- Spring Boot系列教程六:日志输出配置log4j2
- Spring Boot干货系列:(七)默认日志框架配置
- Spring Boot系列教程六:日志输出配置log4j2
- Spring Boot干货系列:默认日志框架配置
- Spring Boot干货系列:(七)默认日志框架配置
- Spring Boot干货系列:默认日志框架配置
- Spring Boot干货系列:(七)默认日志框架配置
- Spring Boot系列之十banner和exitCode
- spring boot 基础日志配置
- spring boot配置logback日志
- spring boot 基础日志配置
- Spring Boot 详细日志配置
- spring boot日志管理配置
- spring boot 内置日志配置
- SimpleDraweeView低配置手机显示svg矢量图问题
- java工厂模式(设计模式)
- HDU 4474:Yet Another Multiple Problem
- Spring获取bean工厂的两种方法
- 增强For
- Spring Boot系列之十 日志配置
- 程序员该如何定位?看这四大方向
- 分分钟推导神经网络
- Python中列表推导式总结
- js 去掉浏览器右击默认事件
- Command /Applications/Xcode.app/Contents/Developer/usr/bin/copypng failed with exit code 1
- ECMAScript6的新特性箭头函数
- HTTP协议详解(真的很经典)
- 标准库函数与运算符的区别