SpringBoot 下在 yml 中的 logging 日志配置方法

 更新时间:2024年06月26日 11:43:23   作者:杜小舟  
logging 配置主要用于控制应用程序的日志输出行为,可以通过配置定制日志的格式、级别、输出位置等,这篇文章主要介绍了SpringBoot 下在 yml 中的 logging 日志配置,需要的朋友可以参考下

前言

logging 配置主要用于控制应用程序的日志输出行为,可以通过配置定制日志的格式、级别、输出位置等。

输出日志的级别

控制哪些级别的日志会被记录,常见级别有:

  • ERROR:用于记录严重错误或异常,出现了这个日志,就说明程序中有严重的错误或者异常已经影响到了某些功能的运行。
  • WARN:输出出现问题的警告信息,但是这些问题还不影响系统的正常运行,主要是让开发者和运维人员注意这些可能引发问题的情况,以便在问题变得严重之前进行排查和处理。
  • INFO:用于记录普通的操作信息和运行状态。这些日志通常用于了解应用程序的正常运行情况。
  • DEBUG:用于记录详细的调试信息。这些日志通常包含比 INFO 级别更多的细节,适用于调试和开发阶段,帮助开发者了解系统的内部工作流程。DEBUG 日志通常包括方法的入口和出口、变量值、逻辑分支的走向等。
  • TRACE:这个级别用于记录最详细的调试信息。这些日志通常包含比 DEBUG 级别更细粒度的信息,适用于深度调试和分析问题。TRACE 日志详细到函数的每一步执行情况,参数传递和返回值等,非常适合在开发阶段或问题排查时使用。

当然,也可以针对不同的包或者类单独设置日志级别。

logging:
  level:
  	# 总级别
    root: INFO
    # 单个包的级别
    com.example: DEBUG

日志输出的位置

配置日志文件输出到的位置和名称。
如果想配置不同级别的日志输出的位置和名称,需要使用 Logback 配置文件。

logging:
  file:
    name: /var/log/my.log

日志输出的格式

配置日志的输出格式,可以通过设置不同的模式来定制日志的输出样式。

logging:
  pattern:
  	# 控制台输出格式
    console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
    # log文件输出格式
    file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"

日志文件的存储路径

指定日志文件的存储路径,可以指定一个目录,日志文件将存储在这个目录下。

logging:
  path: /var/log/mylog

日志文件是否输出到控制台配置

配置是否将日志输出到控制台。

logging:
  console:
    enabled: true

Logback 配置

Logback 是 Spring Boot 默认使用的日志框架,可以在 logging.logback 下进行更详细的配置,比如自定义 Logback 的配置文件。

logging:
  # 通过指定自定义的配置文件做更详细的配置
  config: classpath:logback-spring.xml

日志分组配置

可以为日志级别配置创建分组,方便统一管理。允许将一组包或类分配到一个日志级别组中,从而简化日志级别的配置管理。通过分组配置,可以一次性为多个包或类设置相同的日志级别,而不需要单独为每个包或类进行配置

logging:
  group:
    service: com.example.service, com.example.service.impl
    repository: com.example.repository, com.example.repository.impl
    controller: com.example.controller
  level:
    root: INFO
    service: DEBUG
    repository: ERROR
    controller: WARN
    com.example.controller.special: TRACE

日志细粒度配置【logger】

细粒度的日志配置,可以为特定的类或包单独配置日志级别。这在需要针对某些特定部分进行详细调试时非常有用。

logging:
  level:
    root: INFO
  # 细粒度日志配置
  logger:
    # 为 com.example.service 包下的所有类设置 DEBUG 级别
    com.example.service:
      level: DEBUG
      file: /var/log/myapp/service.log
    # 为 com.example.repository.DBRepository 类设置 TRACE 级别
    com.example.repository.DBRepository:
      level: TRACE
      file: /var/log/myapp/repository.log
    # 为 com.example.controller 包下的所有类设置 WARN 级别
    com.example.controller:
      level: WARN
    # 为 com.example.util 包下的所有类设置 ERROR 级别
    com.example.util:
      level: ERROR

到此这篇关于SpringBoot 下在 yml 中的 logging 日志配置的文章就介绍到这了,更多相关SpringBoot logging 日志配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 简介Java编程中的Object类

    简介Java编程中的Object类

    这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • springboot配置https访问的方法

    springboot配置https访问的方法

    这篇文章主要介绍了springboot配置https访问的方法,需要的朋友可以参考下
    2018-11-11
  • SpringBoot配置MongoDB多数据源的方法步骤

    SpringBoot配置MongoDB多数据源的方法步骤

    这篇文章主要介绍了SpringBoot配置MongoDB多数据源的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 浅谈将JNI库打包入jar文件

    浅谈将JNI库打包入jar文件

    这篇文章主要介绍了浅谈将JNI库打包入jar文件,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Java对象类型的判断详解

    Java对象类型的判断详解

    这篇文章主要介绍了Java对象类型的判断,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Shiro集成Spring之注解示例详解

    Shiro集成Spring之注解示例详解

    Shiro想必大家都知道了,是目前使用率要比spring security都要多的一个权限框架,下面这篇文章主要给大家介绍了关于Shiro集成Spring之注解的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • Spring boot配置文件加解密详解

    Spring boot配置文件加解密详解

    这篇文章主要给大家介绍了关于Spring boot配置文件加解密的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • 在Springboot中Mybatis与Mybatis-plus的区别详解

    在Springboot中Mybatis与Mybatis-plus的区别详解

    MyBatis是一个优秀的持久层框架,它对JDBC的操作数据库的过程进行封装,MyBatisPlus (简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生,本文将给大家介绍了在Springboot中Mybatis与Mybatis-plus的区别
    2023-12-12
  • Java利用MD5加盐实现对密码进行加密处理

    Java利用MD5加盐实现对密码进行加密处理

    在开发的时候,有一些敏感信息是不能直接通过明白直接保存到数据库的。最经典的就是密码了。如果直接把密码以明文的形式入库,不仅会泄露用户的隐私,对系统也是极其的不厉。本文就来和大家介绍一下如何对密码进行加密处理,感兴趣的可以了解一下
    2023-02-02
  • Java设计模式详解之门面模式(外观模式)

    Java设计模式详解之门面模式(外观模式)

    为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。本文给大家介绍Java设计模式详解之门面模式(外观模式),感兴趣的朋友参考下吧
    2016-04-04

最新评论