spring boot log4j多环境不同日志级别控制

本文介绍如何在Spring Boot应用中针对不同环境(开发、测试、生产)实现动态控制Log4j的日志级别,避免手动修改log4j配置文件。通过创建多环境配置文件(如application-dev.properties、application-test.properties、application-prod.properties),并在其中定义日志级别,结合Spring Boot的profiles功能,实现不同环境的日志级别切换。在log4j-spring.properties中使用属性引用,根据环境配置文件自动调整日志级别。单元测试时,需通过特定注解激活所需环境的配置。
摘要由CSDN通过智能技术生成

在上一章节中我们介绍了,仅通过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
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值