【Spring Boot】SpringBoot 下在 yml 中的 logging 日志配置

文章目录

    • 前言
    • 输出日志的级别
    • 日志输出的位置
    • 日志输出的格式
    • 日志文件的存储路径
    • 日志文件是否输出到控制台配置
    • Logback 配置
    • 日志分组配置
    • 日志细粒度配置【logger】


前言

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.implrepository: com.example.repository, com.example.repository.implcontroller: com.example.controllerlevel:root: INFOservice: DEBUGrepository: ERRORcontroller: WARNcom.example.controller.special: TRACE

日志细粒度配置【logger】

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

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




End


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/19509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字化浪潮中的TPM革新:打造高效生产新范式

在数字化浪潮席卷全球的今天,传统生产管理模式正面临前所未有的挑战与机遇。TPM(全面生产维护)作为一种先进的生产管理理念,如何在数字化驱动下焕发新的活力,成为制造业转型升级的关键一环。 数字化技术为TPM带来了前…

Ubuntu禁止内核自动更新

查看当前内核版本 uname -v #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 uname -a Linux GKJ 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux uname -r 6.5.0-35-generic 方法1&am…

EureKa是什么?

Eureka 是一个源于 Netflix 公司的开源项目,主要用于实现服务注册和服务发现的功能。它是构建分布式系统中的微服务架构的一个关键组件。下面是对 Eureka 的解释: 基本概念 Eureka 是基于 REST 的服务,主要用于管理微服务架构中的服务实例的…

探秘Flask中的表单数据处理

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、Flask中的表单处理机制 三、Flask表单处理实战 四、处理表单数据的注意事项…

为什么要使用动态代理IP?

一、什么是动态代理IP? 动态代理IP是指利用代理服务器来转发网络请求,并通过不断更新IP地址来保护访问者的原始IP,从而达到匿名访问、保护隐私和提高访问安全性的目的。动态代理IP在多个领域中都有广泛的应用,能够帮助用户…

vue路由跳转之【编程式导航与传参】

vue路由有两种跳转方式 ----> 编程式与声明式,本文重点讲解vue路由的【编程式导航 】【编程式导航传参 ( 查询参数传参 & 动态路由传参 ) 】等内容,并结合具体案例让小伙伴们深入理解 ,彻底掌握!创作不易,需要的…

2023年全球DDoS攻击现状与趋势分析

天翼安全科技有限公司副总工程师、运营保障部总经理陈林表示,2023年扫段攻击频次快速增长,成为网络基础设施面临的最大威胁。为躲避防御,低速扫段攻击成为主流达到攻击总数的73.19%;43.26%的C段攻击持续时间小于5分钟,…

医疗器械企业中图纸文件防泄密使用数据透明加密系统

医疗器械行业中因为企业的技术图纸需要保密,现有的从国家层面还是社会层面到个人层面对数据安全的防护意识不断的加强,企业中需要能够防止公司研发设计的图纸文件外泄的情况,透明加密软件无疑是能够帮助企业解密数据防泄密问题的最佳解决方案…

Linux中部署MinIO

Linux中部署MinIO 下载MinIO可执行程序: wget https://dl.min.io/server/minio/release/linux-amd64/minio 添加执行权限: chmod x minio 创建存储目录,例如/data: mkdir -p /data 运行MinIO服务器,需要设置MIN…

【设计模式】JAVA Design Patterns——Factory Method(虚拟构造器模式)

🔍目的 为创建一个对象定义一个接口,但是让子类决定实例化哪个类。工厂方法允许类将实例化延迟到子类 🔍解释 真实世界例子 铁匠生产武器。精灵需要精灵武器,而兽人需要兽人武器。根据客户来召唤正确类型的铁匠。 通俗描述 它为类…

三维前端项目中用THREEWebGLRenderer于创建渲染器对象

在三维前端项目开发中,可以使用THREE.WebGLRenderer创建渲染器对象。艾斯视觉作为行业ui设计与前端开发服务商很高兴能在这里与你共同探讨:THREE.WebGLRenderer是 Three.js 库中用于将 3D 场景渲染到屏幕上的类。以下是一个示例代码,展示了如…

笔记:weblogic 12c 升级JDK

1,下载JDK 网址:https://www.oracle.com/ Oracle Technical Network ReadMe for Java SE: https://www.oracle.com/java/technologies/java-readme.html Release Notes: https://www.oracle.com/java/technologies/javase/jdk-relnotes-index.html Ja…

element中table的selection-change监听改变的那条数据的下标

<el-table ref"table" :loading"loading" :data"tableData" selection-change"handleSelectionChange"></el-table>当绑定方法selection-change&#xff0c;当选择项发生变化时会触发该事件 // 多选框选中数据handleSele…

truncate IDL_UB1$导致数据库open hang---惜分飞

在一次数据库恢复中,发现IDL_UB1$表被truncate,然后数据库在open过程中会hang住,而且不报任何错误,这里通过试验进行重现.对于这类问题,以前有过类似处理测试&#xff1a;truncate IDL_UB1$恢复试验数据库版本 SQL> select * from v$version; BANNER ---------------------…

vivado原语使用

首先介绍一下原语&#xff1a;其英文名字为Primitive。原语是Xilinx针对其器件特征开发的一系列常用模块的名字&#xff0c;用户可以将其看成Xilinx公司为用户提供的ip&#xff0c;是芯片中的基本元件&#xff0c;代表FPGA中实际拥有的硬件逻辑单元&#xff0c;如LUT&#xff0…

机器人编程课有什么东西:探索编程的奇妙世界

机器人编程课有什么东西&#xff1a;探索编程的奇妙世界 机器人编程课&#xff0c;一个充满创意与探索的领域&#xff0c;为孩子们打开了一扇通往未来科技的大门。在这门课程中&#xff0c;孩子们不仅能够学习到编程的基础知识&#xff0c;还能够亲手搭建和操作机器人&#xf…

Kotlin 特色 sealed 关键字

sealed 意为密封的&#xff0c;可修饰类 class 和接口 interface&#xff0c;用来表示受限的继承结构。 Sealed Class 介绍 sealed class&#xff0c;密封类&#xff0c;密封类是一种特殊的抽象类&#xff0c;用于限制可以继承它的子类。 密封类具备最重要的一个特点&#…

汇编:x86汇编环境搭建与基础框架(32位)

32位汇编代码编写环境&#xff1a;Visual Studio&#xff08;笔者用的版本为2017&#xff09;&#xff1b;先来说一下在Visual Studio 2017中编写汇编代码的准备操作&#xff1a; ①创建空项目 ②设置项目属性&#xff1a;平台工具集设置为Visual Studio 2015(v140)&#xff0…

YOLOv5改进 | 注意力机制 | 添加三重注意力机制 TripletAttention【原理 + 完整代码】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 得益于在通道或空间位置之间建立相互依赖关系的能力&#xff0c;近年来&#xff0c;注意力机制在计算机视觉任务中得到了广泛的研究和应用。…

嵌入式Linux命令基础

一、命令概述 1. 命令本质 命令的特性&#xff1a;一般就是对应shell命令&#xff0c;每一个命令代表一个可执行程序&#xff0c;运行一个命令就相当于 运行一个可执行代码。 2. 打开终端方法 第一种方法&#xff1a;通过鼠标右键选择打开终端 第二种方法&#xff1a;利用…