Spring Boot 热部署与日志

目录

一、热部署

1.为什么要用热部署

2.热部署的优点和缺点

3.配置过程

二、Spring Boot默认的日志框架

1.为什么使用日志?

2.日志的介绍和规范

3.Spring Boot 默认的日志框架 slf4j+logback

 4.日志的配置

5.自定义日志框架


一、热部署

1.为什么要用热部署

  作用: 进一步提高开发效率,spring boot为我们提供了全局项目热部署,日后在开发过程中,修改了部分代码以及相关的配置文件,不再需要重新启动项目,热部署就会在项目中更新启动修改部分的代码。

2.热部署的优点和缺点

优点: 在修改代码的时候不用手动重启代码,提高了开发效率

缺点: 热部署只适合在本地开发时使用,正式发布不可以使用

3.配置过程

第一步:添加热部署依赖


        org.springframework.boot
        spring-boot-devtools
         runtime
        
        true
    

  第二步:在IDEA中勾选相关配置

Spring Boot 热部署与日志_第1张图片

   再按住 ctrl+alt+shift+/  registry 勾选,配置完成重启IDEA即可验证

Spring Boot 热部署与日志_第2张图片

二、Spring Boot默认的日志框架

1.为什么使用日志?

   在项目的开发过程中,我们可以通过 debug来寻找程序问题,但是在线上环境中就只能通过打印程序运行的日志来寻找问题。因此在开发中选择一个好的日志框架是非常重要的。

2.日志的介绍和规范

  日志的框架有多种,但是主要的要记住三种使用方式,slf4j+logback、slf4j+log4j2、jcl+jul ,在使用的时候要注意不可以直接使日志实现框架,需借助日志门面框架使用日志实现。

   jcl是使用类加载器(Class loader)来加载的,先加载到那个日志框架就用那个,在使用自定义类加载器的时候有可能造成内存溢出,使用时较为简单。

  slf4j 是借助适配器桥接器两个功能来实现日志整合的,使用slf4j和logback时他俩之间必须有一个桥接器(loback-classic),适配器的作用如图:

Spring Boot 热部署与日志_第3张图片

注意:不同日志实现框架对应不同的桥接器依赖

3.Spring Boot 默认的日志框架 slf4j+logback

  slf4j+logback 的依赖在springboot的spring-boot-starter-web依赖中已经存在了,所以不用手动添加依赖了。Logback-class: logback桥接器

Spring Boot 热部署与日志_第4张图片

 4.日志的配置

  4.1 在yml或者properties文件中配置

#日志的介绍见spring.io logging栏
#日志的组成
 #日期和时间: 毫秒精度,易于排序
 #日志级别:  trace

    控制台的日志输出格式

4.2 自定义日志配置文件

   Spring Boot只是提供了日志的基本配置,日志框架的一些高级功能没有被列入其中,所以我们可以在项目中配置一份自定义的配置文件,用来使用日志框架提供的高级功能。

   在resources文件下添加一个logback-spring.xml文件




    sms
    
    
    
    
    
    

    
    
        
            ${log.pattern}
        
    

    
    
    
        
            
            ${log.path}/info/info.%d{yyyy-MM-dd}.log
            ${log.maxHistory}
        
        
            ${log.pattern}
        
        
        
            INFO
            ACCEPT
            DENY
        
    

    
        
            ${log.path}/error/error.%d{yyyy-MM-dd}.log
        
        
            ${log.pattern}
        
        
            ERROR
            ACCEPT
            DENY
        
    

    
        
            ${log.path}/debug/debug.%d{yyyy-MM-dd}.log
            ${log.maxHistory}
        
        
            ${log.pattern}
        
        
            DEBUG
            ACCEPT
            DENY
        
    

    
        
        
        
    

    
        
        
        
    

   控制台的日志输出格式

5.自定义日志框架

  在spring boot中不想使用logback日志框架 改用其他框架需要以下几个步骤(以log4j2为例)

  第一步:在pom.xml文件中排除和导入依赖(不排除相应的logback的依赖运行时会出错,如果存在继承关系,也需要早父类依赖中排除spring-boot-starter-logging依赖)

 
        
            org.springframework.boot
            spring-boot-starter-web
            
                
                
                    org.springframework.boot
                    spring-boot-starter-logging
                
            
        
        
        
            org.springframework.boot
            spring-boot-starter-log4j2
        

   第二步:在resources文加下添加一个log4j2.xml文件(因为在yml文件中的日志配置信息是logback的,log4j2无法完全识别,需要从新添加一个配置文件)



    
        
            
        
    
    
        
            
        
    

   控制台的日志输出结果


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