logback在spring-boot中不同环境不同配置的方法之一
logback在spring-boot中不同环境不同配置的方法之一
douglaswei 发表于11个月前
logback在spring-boot中不同环境不同配置的方法之一
  • 发表于 11个月前
  • 阅读 35
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

摘要: logback在spring-boot中不同环境不同配置的方法

背景

项目: spring-boot+maven+logback
项目环境分开发、测试、预发布、生产环境,不同环境的配置文件是不一样,日志打印需要根据不同的环境使用不同的配置,例如开发环境的日志等级是DEBUG,其他环境的日志等级是INFO;开发环境日志输出到控制台,其他环境日志输出到文件(不输出到控制台),。那么问题来了:

  1. 不同环境设置不同的日志打印级别
  2. 不同环境设置不同的日志输出设备(控制台、文件、db等)

方案

No.1

  1. 配置文件与jar分离,独立维护logback的配置文件,在启动参数中添加配置文件。优点:配置文件与jar分离,干净,缺点:维护成本上升

No.2

  1. 结合maven的profiles插件格式化logback配置文件参数,利用logback的条件判断if指令区分不同环境。优点:一个文件处理完成,部署方便,缺点:不好维护

No.3

  1. 针对不同环境提供不同logback配置,抽取公共配置部分,基于maven的profiles插件格式化spring-boot的配置文件application.properties中的logging配置文件。 优点:配置文件跟随jar包,发布简单,配置文件集中管理,维护简单,缺点:有点啰嗦

选择

  1. 基于当前项目特点以及开发团队以及测试部署团队的特点,项目小,环境有限(4个),维护成本低;测试团队Jenkins任务维护成本低,不增加部署难度。所以选择了方案3,发布简单,部署方便,维护成本较低。

技术点

  1. 基于maven的profiles插件针对不同环境配置
  2. 基于spring-boot的配置文件application.properties提供指定log配置文件的能力
  3. 基于logback公有配置include 公共配置的能力,spring-boot提供的logback配置org/springframework/boot/logging/logback/defaults.xml

实例demo传送门

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 7
博文 39
码字总数 39368
×
douglaswei
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: