广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Springboot如何使用logback实现多环境配置?
  • 415
分享到

Springboot如何使用logback实现多环境配置?

2024-04-02 19:04:59 415人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

前言 Logback是由log4j创始人设计的又一个开源日记组件,Logback 当前分成三个模块:logback-core,logback- classic和logback-ac

前言

Logback是由log4j创始人设计的又一个开源日记组件,Logback 当前分成三个模块:logback-core,logback- classic和logback-accesslogback-core是其它两个模块的基础模块,logback-classic是log4j的一个改良版本。此外logback-classic完整实现SLF4J api使你可以很方便地更换成其它日记系统如log4j或jdk14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日记的功能

引入依赖

引入logback所需要的依赖


<dependency>                                                                           
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.1.6</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.6</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.18</version>
</dependency>

如果使用spring-boot,兼容logback,默认已经集成了这些文件,所以就不需要自己依赖注入了,直接在项目中使用就行了。

配置项值方案

利用Spring Boot中application.yml的spring.profiles.active

环境配置,dev开发环境和部署环境连接的数据库地址、debug模式等等都是不同的,为了区分dev开发环境配置和生产环境配置,可以创建两个yml文件,什么环境使用相应的配置文件:

  • application.yml:公共配置文件,里面可以通过spring.profiles.active=dev来指定使用哪个配置文件
  • application-dev.yml:开发环境配置文件
  • application-prod.yml:生产环境配置文件

注意:

1、当公共配置文件application.yml和dev.yml(或prod.yml)同时存在同一个配置的时候,以dev.yml(prod.yml)配置文件为主
2、当配置项只在公共application.yml文件中有的时候,以公共配置为主
3、可以
把公共配置项放到application.yml中

我们在看dev.xml和prod.xml配置文件

dev.xml配置


#dev.xml中的配置,用户开发环境
log: 
  path: /Users/gujiachun/Downloads
  level: debug

prod.xml配置


#prod.xml中的配置,用户生产环境
log: 
  path: /Users/gujiachun/Downloads
  level: info

此方案的设计原理就是,不同环境不同的配置值;然后在logback-spring.xml中使用此配置值。

上图就是logback-spring.xml配置,里面有个重要的就是springProperty标签,可以利用这个标签引用到application.yml中的值(包含dev.xml、prod.xml);log.level和log.path的值就可以在logback-spring.xml中使用,使用方式 l o g P a t h 、 {logPath}、 logPath、{logLevel}

测试代码

启动测试,指定spring.profiles.active=dev或prod;我们发现在logPath目录出现对应的日志文件

因为不同的环境,我们配置成日志级别不一样,dev对应debug,prod对应info;日志文件内容不同环境对应不同内容

dev环境输出

2020-01-04 10:01:50,298 -- debug...
2020-01-04 10:01:50,298 -- info...
2020-01-04 10:01:50,298 -- error...

prod环境输出

2020-01-04 10:03:55,198 -- info...
2020-01-04 10:03:55,198 -- error...

外部配置文件方案

另一种更简单的方式,可以利用logging.config指定配置文件,而且有一个好处可以不一定要取名logback-spring.xml;我们来看一下

application-dev.xml环境


#日志相关配置
logging:
  config: classpath:conf/logback-dev.xml

application-prod环境


#日志相关配置
logging:
  config: classpath:conf/logback-prd.xml

logback-dev.xml配置

logback-prod.xml配置

启动指定spring.profiles.active=dev

在控制台输出了

而在日志文件

日志内容


2020-01-04 11:56:10  [39mDEBUG[0;39m 7454  --- [main]  [36mc.r.g.t.LoggerTest[0;39m : debug:.... 

为什么只有debug日志,没有info、error;这个是因为日志文件中加了个过滤器


<filter class="ch.qos.logback.classic.filter.LevelFilter">
    <level>${logLevel}</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
</filter>

此过滤器中的属性onMatch和onMismatch,匹配日志级别就接受,不匹配就不接受。所以只接受debug级别。

启动指定spring.profiles.active=prod

控制台输出

日志文件

生成了4个文件,也是因为过滤器,生产环境的日志级别为info,所以debug日志文件里面为空。

springProfile方案

springProfile标签在logback.xml中可以起到区分不同环境分支;如果我们需要配置不同环境,不同的输出方式,如:dev环境输出到控制台以及文件,prod环境只要输出到文件。

logback-spring.xml配置

这样就可以在同一个配置xml文件中,配置不同的环境值。

总结

上面介绍了几个方案,小伙伴们可以选择适合自己业务的方案,下一篇老顾介绍日志在集群中的方式。谢谢!!!

到此这篇关于SpringBoot如何使用logback实现多环境配置?的文章就介绍到这了,更多相关logback实现多环境配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Springboot如何使用logback实现多环境配置?

本文链接: https://www.lsjlt.com/news/128248.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Springboot如何使用logback实现多环境配置?
    前言 Logback是由log4j创始人设计的又一个开源日记组件,Logback 当前分成三个模块:logback-core,logback- classic和logback-ac...
    99+
    2022-11-12
  • Springboot内外部logback多环境配置详解
    目录一、概述二、项目内外配置三、使用自定义appender四、logback查找配置源码五、案例源码一、概述 SpringBoot官方文档Springboot 默认读取的是项目内的 ...
    99+
    2022-11-13
  • springboot如何使用logback-spring配置日志格式,并分环境配置
    配置不生效的解决办法 注意:如果配置不生效,则说明spring优先加载了其他配置: 解决办法: 添加启动参数 -Dlogging.config=classpath:logb...
    99+
    2022-11-12
  • Springboot内外部logback多环境配置的示例分析
    这篇文章给大家分享的是有关Springboot内外部logback多环境配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、概述SpringBoot官方文档Springboot 默认读取的是项目内的 ...
    99+
    2023-06-26
  • Springboot如何使用Logback实现日志配置
    这篇文章主要讲解了“Springboot如何使用Logback实现日志配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Springboot如何使用Logback实现日志配置”吧!概述默认情...
    99+
    2023-07-04
  • SpringBoot如何配置logback.xml多环境
    这篇文章主要介绍SpringBoot如何配置logback.xml多环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!操作步骤resource文件的内容结构如下:配置application.ymlspring:&nb...
    99+
    2023-06-15
  • springboot怎么使用logback-spring配置日志格式,并分环境配置
    这篇文章主要介绍了springboot怎么使用logback-spring配置日志格式,并分环境配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。配置不生效的解决办法注意:如...
    99+
    2023-06-20
  • SpringBoot配置Profile实现多环境支持
    前些天,有一个需求要用SpringBoot的多环境,当时没有系统学习springboot ,所以在网上找来找去的找到了一个解决方案,并写了一篇文章用来记录---(springBoot...
    99+
    2022-11-12
  • SpringBoot多环境开发该如何配置
    目录一、配置多环境二、激活环境1. spring.profiles.active属性2. 命令行激活3. 读取 pom.xml激活一、配置多环境 如下例: # 当前激活的环境为 de...
    99+
    2022-11-13
  • springboot多环境如何进行动态配置
    本文小编为大家详细介绍“springboot多环境如何进行动态配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot多环境如何进行动态配置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、如何配...
    99+
    2023-07-02
  • springcloud使用profile实现多环境配置方式
    目录使用profile实现多环境配置基本介绍项目配置springprofile多环境配置管理现象解决激活profile使用profile实现多环境配置 基本介绍 在开发过程中,我们的...
    99+
    2022-11-13
  • SpringBoot多环境配置及配置文件分类实例详解
    目录二、配置文件分类2.1 代码演示2.1.1 环境准备2.1.2 验证1级和2级的优先级2.1.3 验证2级和4级的优先级一、多环境配置 在工作中,对于开发环境、测试环境、生产环境...
    99+
    2022-11-13
    SpringBoot多环境配置 SpringBoot配置文件
  • SpringBoot实现多环境配置文件切换教程详解
    目录背景解决方案一、新建配置文件二、 服务调用测试 2.1 新建调用类2.2 使用样例项目三、扩展练习3.1 使用注解标记配置,首先定义一个接口3.2 ...
    99+
    2022-11-13
  • SpringBoot中怎么通过配置Profile实现多环境支持
    本篇文章给大家分享的是有关SpringBoot中怎么通过配置Profile实现多环境支持,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Profile1.多Profile文件我们...
    99+
    2023-06-20
  • 如何在SpringBoot中管理多环境配置文件
    这篇文章给大家介绍如何在SpringBoot中管理多环境配置文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。可以通过配置项 spring.profiles.active 的值来激活对应的环境(思路:使用一个默认的文件...
    99+
    2023-06-15
  • Springboot使用Logback实现日志配置与异常记录
    目录概述logback配置详解logback配置异常情况概述 默认情况下,SpringBoot内部使用logback作为系统日志实现的框架,将日志输出到控制台,不会写到日志文件。如果...
    99+
    2022-11-21
    Springboot Logback 日志配置 Springboot Logback异常记录 Springboot Logback
  • Admin - SpringBoot + Maven 多启动环境配置实例详解
    一:父级pom.xml文件 resources目录下新建指定文件夹,存放Spring配置文件 <profiles> <profile> <...
    99+
    2022-11-12
  • springcloud中怎么使用profile实现多环境配置
    这篇文章主要介绍“springcloud中怎么使用profile实现多环境配置”,在日常操作中,相信很多人在springcloud中怎么使用profile实现多环境配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-29
  • SpringBoot怎么加载多个配置文件实现dev、product多环境切换
    这篇文章主要介绍“SpringBoot怎么加载多个配置文件实现dev、product多环境切换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot怎么加载多个配置文件实现dev、pro...
    99+
    2023-07-05
  • 多jdk环境下如何指定springboot外部配置文件
    今天小编给大家分享一下多jdk环境下如何指定springboot外部配置文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。问...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作