当前位置: 首页 > news >正文

Spring Boot多环境配置及Logback日志记录

学习目标

  • Spring Boot多环境配置
  • logback日志记录器

1.Spring Boot多环境配置

Spring Boot的针对不同的环境创建不同的配置文件,

语法结构:application-{profile}.properties

profile:代表的就是一套环境

1.1.需求

application-dev.yml 开发环境 端口8090

application-test.yml 测试环境 端口8091

application-prod.yml 生产环境 端口8092

1.2.运行项目:

在application.yml 中激活指定的配置文件:

#激活指定的配置文件
spring.profiles.active=dev

1.3.单个yml方式

yml支持多文档块的方式:

spring:profiles.active: dev# 开发环境配置
spring:profiles: dev
server:port: 8080# 测试环境配置
spring:profiles: test
server:port: 8091# 生产环境配置
spring:profiles: prod
server:port: 8092

2.logback日志记录器

2.1.logback介绍

logback是log4j团队创建的开源日志组件,与log4j类似但是比log4j更强大,是log4j的改良版本。主要优势在于:

a) 更快的实现,logback内核重写过,是的性能有了很大的提升,内存占用也更小。

b) logback-classic对slf4j进行了更好的集成

c) 自动重新加载配置文件,当配置文件修改后,logback-classic能自动重新加载配置文件

d) 配置文件能够处理不同的情况,开发人员在不同的环境下(开发,测试,生产)切换的时候,不需要创建多个

​ 文件,可以通过标签来实现
e) 自动压缩已经打出来的日志文件:RollingFileAppender在产生新文件的时候,会自动压缩已经打印出来的日志

​ 文件。而且这个压缩的过程是一个异步的过程。

2.2.logback.xml

<?xml version="1.0" encoding="UTF-8" ?><configuration>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->  <property name="LOG_HOME" value="${catalina.base:-.}/logs/" />  <!-- 控制台输出 -->   <appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender"><!-- 日志输出编码 -->  <layout class="ch.qos.logback.classic.PatternLayout">   <!--日志输出格式:%d表示日期时间,%thread表示线程名,%-5level:级别从左显示5个字符宽度%logger{50} 表示class的全名最长50个字符,否则按照句点分割%msg:日志消息%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n   </pattern>   </layout>   </appender>   <!-- 按照每天生成日志文件 -->   <appender name="RollingFile"  class="ch.qos.logback.core.rolling.RollingFileAppender">   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/server.%d{yyyy-MM-dd}.log</FileNamePattern>   <MaxHistory>30</MaxHistory></rollingPolicy>   <layout class="ch.qos.logback.classic.PatternLayout">  <!--日志输出格式:%d表示日期时间,%thread表示线程名,%-5level:级别从左显示5个字符宽度%logger{50} 表示class的全名最长50个字符,否则按照句点分割%msg:日志消息%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n   </pattern>   </layout> <!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender>     <!-- 日志输出级别 --><root level="DEBUG">   <appender-ref ref="Stdout" />   <appender-ref ref="RollingFile" />   </root> <!--日志异步到数据库 -->  
<!--     <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">日志异步到数据库 <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">连接池 <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource"><driverClass>com.mysql.jdbc.Driver</driverClass><url>jdbc:mysql://127.0.0.1:3306/databaseName</url><user>root</user><password>root</password></dataSource></connectionSource></appender> --></configuration>

相关文章:

  • protobuf学习日记 | 认识protobuf中的类型
  • PS为动态GIF添加新背景
  • 广东省第三届职业技能大赛“网络安全项目”B模块--数字取证解析
  • GAN在图像数据增强中的应用
  • 图像处理中常用的距离
  • 【Docker】在centos中安装nginx
  • 电商API接口的大数据分析与挖掘技巧
  • HTML中div内容垂直居中显示
  • 阶段七第二章连接数据库,逻辑控制器,定时器
  • Js-WebAPIs-事件(二)
  • Android ANR 总结
  • 黑客技术(网络安全)自学2024
  • OceanBase集群部署
  • 使用 Apache POI XDGF 读取 vsdx 文件
  • 指向未来: 量子纠缠的本质是一个指针
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • passportjs 源码分析
  • PHP的Ev教程三(Periodic watcher)
  • ubuntu 下nginx安装 并支持https协议
  • vue.js框架原理浅析
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 聊一聊前端的监控
  • 盘点那些不知名却常用的 Git 操作
  • 双管齐下,VMware的容器新战略
  • 由插件封装引出的一丢丢思考
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • #if 1...#endif
  • #Lua:Lua调用C++生成的DLL库
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (solr系列:一)使用tomcat部署solr服务
  • (二)Eureka服务搭建,服务注册,服务发现
  • (一)Java算法:二分查找
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • @SuppressWarnings注解
  • @拔赤:Web前端开发十日谈
  • [100天算法】-目标和(day 79)
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [BJDCTF 2020]easy_md5
  • [BJDCTF2020]The mystery of ip1
  • [DAX] MAX函数 | MAXX函数
  • [EFI]英特尔 冥王峡谷 NUC8i7HVK 电脑 Hackintosh 黑苹果efi引导文件
  • [ESP32] 编码旋钮驱动
  • [Gradle] 在 Eclipse 下利用 gradle 构建系统
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解
  • [HTML]Web前端开发技术30(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [HUBUCTF 2022 新生赛]