文档章节

logback在spring-boot中不同环境不同配置的方法之一

douglaswei
 douglaswei
发布于 2017/05/31 16:57
字数 529
阅读 129
收藏 0

背景

项目: 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传送门

© 著作权归作者所有

共有 人打赏支持
douglaswei
粉丝 8
博文 59
码字总数 39760
作品 0
珠海
架构师
私信 提问
Spring Boot日志集成

Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用Logback作为默认日志框架。无论使用哪种日志框架,Sprin...

java技术栈
2017/11/08
0
0
spring boot(8)默认日志logback配置

1 日志简介 Spring Boot使用Commons Logging记录所有内部日志,但是它将底层日志实现打开,为Java.Util.Logging,Log4J2和Logback提供默认配置。 在每个案例中,loggers都预先配置,以使用控...

刘胜球
2017/10/31
0
0
Spring Boot日志集成实战

Spring Boot日志框架 Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架,如果你使用starters启动器,Spring Boot将使用Logback作为默认日志框架。无论使用哪种日志框架,Sprin...

Java技术栈
06/08
0
0
Spring Boot干货系列:(七)默认日志logback配置解析

转载自:点击打开链接 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如...

u012843873
04/23
0
0
spring-boot | 日志

嘿,好久不见,你还好吗? 我一般都是为大家带来项目上比较实用的东西,这次我们来试试项目开发中对日志的处理,希望对你有所帮助。 理论知识 1、为什么要用日志? 你是否因为项目出现问题,...

冯文议
08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

容器之Zookeeper的使用

我们使用zookeeper时,都是在Linux上安装zookeeper,之后启动时要加入配置文件。 使用docker之后,我们可以直接使用镜像运行容器,镜像可以从docker.hub上下载,地址是https://hub.docker.co...

克虏伯
23分钟前
0
0
esxi 更换ssl证书

概述 就是想换一个证书而已,你可以通过下面的途径去申请一个泛解析域名的证书之后再esxi上安装上 使用阿里云域名api申请Let’s Encrypt泛域名免费ssl证书 申请完成证书之后进行下一步 操作 ...

bboysoulcn
36分钟前
1
0
PLC编程入门:梯形图

梯形图(LAD)是PLC编程的最佳可视化语言,它看起来非常类似于继电器电路图,因此如果 你对继电器控制和电子电路有所了解的话,那么学起来会非常容易! 在这个教程中,我们将学习关于使用梯形...

汇智网教程
38分钟前
1
0
Kubernetes 1.13.0的快速升级

Kubernetes 1.13.0已经正式发布,快速升级(含国内镜像快速下载链接)包括升级kubeadm/kubectl/kubelet版本、拉取镜像、升级Kubernetes集群三个主要步骤。注意Kubernetes 1.13.0版本暂时不支...

openthings
52分钟前
2
0
go的卸载和环境变量配个人.bashrc

若是用安装包直接解压 http://download.csdn.net/detail/u010026901/7592581 cd /usr/local tar -zxvf go1.1.2.linux-386.tar.gz(先把安装包移到这个目录) 3.安装 $ cd go/src,$ ./all.b......

dragon_tech
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部