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


 <configuration>
  
    <property name="LOG_HOME" value="${catalina.base:-.}/logs/" />  
       
    <appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender">
         
        <layout class="ch.qos.logback.classic.PatternLayout">   
              
            <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}.logFileNamePattern>   
            <MaxHistory>30MaxHistory>
        rollingPolicy>   
        <layout class="ch.qos.logback.classic.PatternLayout">  
            
            <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>10MBMaxFileSize>
       triggeringPolicy>
    appender>     

    
    <root level="DEBUG">   
        <appender-ref ref="Stdout" />   
        <appender-ref ref="RollingFile" />   
    root> 



  


configuration>

你可能感兴趣的:(spring,boot,logback,后端)