如何仅在Prod环境禁用Moneta请求头与请求日志,Dev环境保留?
分环境配置Moneta HTTP日志开关
直接用Spring Boot的多环境配置机制就能解决,不用改代码,纯配置搞定:
方案一:拆分环境专属配置文件
这是最清晰的方式,适合多环境配置较多的场景:
在项目的
src/main/resources目录下创建两个配置文件:application-dev.yml(对应开发环境)application-prod.yml(对应生产环境)
分别写入对应环境的配置:
application-dev.yml内容:logging : http: logRequestHeaders: true logRequestEntity: true logResponseEntity: trueapplication-prod.yml内容:logging : http: logRequestHeaders: false logRequestEntity: false logResponseEntity: false
启动时激活对应环境:
- 开发环境启动:添加启动参数
--spring.profiles.active=dev - 生产环境启动:添加启动参数
--spring.profiles.active=prod - 也可以在生产服务器上设置环境变量
SPRING_PROFILES_ACTIVE=prod,这样启动时不用手动加参数
- 开发环境启动:添加启动参数
方案二:单文件多文档块配置
如果配置比较简单,也可以把所有环境配置放在同一个application.yml里,用---分隔不同环境的配置:
# 默认激活开发环境,上线时可以通过外部参数覆盖 spring: profiles: active: dev --- # 开发环境配置 spring: profiles: dev logging : http: logRequestHeaders: true logRequestEntity: true logResponseEntity: true --- # 生产环境配置 spring: profiles: prod logging : http: logRequestHeaders: false logRequestEntity: false logResponseEntity: false
两种方式都能实现你的需求,拆分文件的方式更易维护,推荐优先用这个。
内容的提问来源于stack exchange,提问作者poornima
相关产品推荐
相关产品推荐

