在上一章节中我们介绍了,仅通过log4j-spring.properties对日志级别进行控制,对于需要多环境部署的环境不是很方便,可能我们在开发环境大部分模块需要采用DEBUG级别,在测试环境可能需要小部分采用DEBUG级别,而在生产环境时我们又希望采用INFO级别。这个时候,我们要自己手工编辑log4j-spring.properties文件来调整日志级别,不论在版本库中默认保存哪个环境的级别设定,都会增加其他环境使用人员的工作量,虽然很细微,但是手工修改总不是一件很好的选择,难免会发现修改后误提交等问题。
那么,有没有办法对于开发人员、运维人员都不需要改变源代码实现不同环境的不同日志级别呢?
这时候Spring Boot多环境的配置以及属性文件中的参数引用这个技术就很重要了(可以参考上一篇文章)
创建多环境配置文件
application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境
在resources下创建以上3个文件。application.properties中添加属性:
spring.profiles.active=dev(默认激活application-dev.properties配置)
application-dev.properties和application-test.properties配置文件中添加日志级别定义:logging.level.com.kfit=info
application-prod.properties配置文件中添加日志级别定义:logging.level.com.kfit=ERROR
1
2
3
4
5
6
7
8
9
10
11
12
|
# LOG4J配置
log4j.rootCategory=INFO, stdout, file, errorfile
# com.kfit包下的日志配置
log4j.category.com.kfit=DEBUG,didifile
|