【Spring Boot丨(十 )】日志

这篇具有很好参考价值的文章主要介绍了【Spring Boot丨(十 )】日志。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上文讲了 类型安全配置属性
本篇来讲一下 Spring boot 的默认日志相关

🍑 概述


  Spring Boot在所有内部日志中使用Commons Logging,但也保留默认配置对常用日志的支持,如:Java Util Logging,Log4J, Log4J2, SLF4J 和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。默认情况下,如果您使用“Starters”,会使用Logback来实现日志管理。

  Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。
【Spring Boot丨(十 )】日志,# Spring Boot,java,spring,spring boot,日志,后端,logback,运维

   上图明确的告诉了我们Slf4j 就是简单的外观或抽象,它允许最终用户在部署时插入所需的日志框架 。因此,我们没必要纠结使用默认的Logback还是Log4j,直接用Slf4j 即可。至于这个日志具体是如何写到控制台或者文件的,则由Spring Boot项目中引入了什么具体的日志框架决定,默认情况下就是Logback。

🍏 日志格式


【Spring Boot丨(十 )】日志,# Spring Boot,java,spring,spring boot,日志,后端,logback,运维

由上图可知,日志输出的主要元素如下:

  • 日期和时间:毫秒精度且易于排序。
  • 日志级别:ERROR、WARN、INFO、DEBUG、 或TRACE。
  • 进程 ID。
  • 分隔符 --- 用于区分实际日志消息的开始。
  • 线程名称:用方括号括起来(可能会截断控制台输出)。
  • Logger 名称:这通常使用源代码的类名(通常是缩写)。
  • 日志内容。

🍐 控制台输出


日志级别:

  日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出。

  Spring Boot中默认配置ERROR、WARN和INFO级别的日志输出到控制台。

开启DEBUG日志:

1:在运行命令后加入-- debug 标志,如:$ java -jar myapp.jar --debug

2:在配置文件application.properties 中配置 debug=true

启用调试模式时,会配置一系列核心记录器(嵌入式容器、Hibernate和Spring Boot)以输出更多信息。但是你自己应用的日志并不会输出为DEBUG级别。

开启TRACE日志:

1:在运行命令后加入--trace 标志

2:在配置文件application.properties 中配置 trace=true

  启动应用程序来启用“跟踪”模式。这样做可以为一系列核心记录器(嵌入式容器、Hibernate架构生成和整个Spring产品组合)启用跟踪日志记录。

颜色编码输出:

  如果您的终端支持 ANSI,设置颜色输出可以提高日志的可读性。您可以设置spring.output.ansi.enabled 来覆盖自动检测。

spring.output.ansi.enabled 支持的值为以下三项:

参数 说明
ALWAYS 启用 ANSI 彩色输出。
DETECT 尝试检测ANSI着色功能是否可用。
NEVER 禁用 ANSI 颜色输出。

  颜色编码是通过使用%clr 转换字来配置的。在最简单的形式中,转换器根据日志级别对输出进行着色,示例如下:

%clr(%5p)

日志级别到颜色的映射:

级别 颜色
FATAL 红色
ERROR 红色
WARN 黄色
INFO 绿色
DEBUG 绿色
TRACE 绿色

  或者,您可以指定应该使用的颜色或样式,方法是将其提供为转换的选项。例如,要使文本变为黄色,示例如下:

%clr(%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}){yellow}

支持以下颜色和样式:

  • blue
  • cyan
  • faint
  • green
  • magenta
  • red
  • yellow

🥥 文件输出


  默认情况下,Spring Boot只将日志输出到控制台,而不会写到日志文件。如果除了控制台输出之外还想写入日志文件,则需在application.properties中设置logging.filelogging.path属性。

  • logging.file,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.log
  • logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path=/var/log

  如果只配置 logging.file,会在项目的当前路径下生成一个 xxx.log 日志文件。
  如果只配置 logging.path,在 /var/log文件夹生成一个日志文件为 spring.log

  默认情况下,日志文件的大小达到10MB时会切分一次,产生新的日志文件,默认级别为:ERROR、WARN、INFO

注:二者不能同时使用,如若同时使用,则只有logging.file生效

提示:
  日志记录属性独立于实际的日志记录基础结构。因此,特定的配置密钥(如logback的logback.configurationFile)不由spring Boot管理。

🥝 文件轮换


  如果使用 Logback,则可以使用application.propertiesapplication.yaml 文件微调日志轮换设置。对于所有其他日志系统,需要自己直接配置轮换设置(例如,如果使用 Log4j2,则可以添加log4j2.xml或log4j2-spring.xml文件)。

轮换策略属性如下:

参数 说明
logging.logback.rollingpolicy.file-name-pattern 用于创建日志存档的文件名模式。
logging.logback.rollingpolicy.clean-history-on-start 应用程序启动时是否应进行日志归档清理。
logging.logback.rollingpolicy.max-file-size 归档之前日志文件的最大大小。
logging.logback.rollingpolicy.total-size-cap logging.logback.rollingpolicy.total-size-cap
logging.logback.rollingpolicy.max-history 要保留的归档日志文件的最大数量(默认为 7)。

🍒 文件级别


  所有支持的日志记录系统都可以在Spring环境中设置记录级别(例如在application.properties中)格式为:’logging.level.* = LEVEL’ 。根日志记录程序可以使用logging_level.root进行配置。

- logging.level:日志级别控制前缀,*为包名或Logger名

  • LEVEL:选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

示例如下:


logging.level.root=warn   // root日志以WARN级别输出
logging.level.org.springframework.web=debug // 包下所有class以DEBUG级别输出
logging.level.org.hibernate=error //  包下所有class以error级别输出

还可以使用环境变量设置日志记录级别。例如,

LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_WEB=DEBUG  // 将ORG.SPRINGFRAMEWORK.WEB 设置为`DEBUG`。

提示:
  上述方法仅适用于包级别的日志记录。由于松弛绑定总是将环境变量转换为小写,因此不可能以这种方式为单个类配置日志记录。如果需要为类配置日志记录,可以使用SPRING_APPLICATION_JSON变量。

【Spring Boot丨(十 )】日志,# Spring Boot,java,spring,spring boot,日志,后端,logback,运维

  如果喜欢的话,欢迎 🤞关注 👍点赞 💬评论 🤝收藏  🙌一起讨论
  你的支持就是我✍️创作的动力!					  💞💞💞

参考资料
Spring Boot 日志官方文档文章来源地址https://www.toymoban.com/news/detail-541462.html

到了这里,关于【Spring Boot丨(十 )】日志的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】Spring Boot 日志文件

    日志是程序的重要组成部分,想象一下,如果程序报错了,不让你打开控制台看日志,那么你能找到报错的原因吗。 日志对于我们来说,最主要的用途就是排除和定位问题。除了发现和定位问题之外,我们还可以通过日志实现以下功能: 记录用户登录日志,方便分析用户是

    2024年02月01日
    浏览(55)
  • 微信小程序的授权登录-Java 后端 (Spring boot)

    微信开发文档链接:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 一个可以测试的微信小程序 此微信小程序的APPID和APPscret(至开发者后台获取) 从时序图我们可以了解到流程大致分为两步: 小程序端获取code后传给Java后台 Java后台获取code后向微信后台接口

    2024年02月09日
    浏览(55)
  • Java EE 突击 9 - Spring Boot 日志文件

    这个专栏给大家介绍一下 Java 家族的核心产品 - SSM 框架 JavaEE 进阶专栏 Java 语言能走到现在 , 仍然屹立不衰的原因 , 有一部分就是因为 SSM 框架的存在 接下来 , 博主会带大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相关知识点 并且带领大家进行环境的配置 , 让大家真正用好

    2024年02月13日
    浏览(51)
  • Java实战:Spring Boot实现AOP记录操作日志

    本文将详细介绍如何在Spring Boot应用程序中使用Aspect Oriented Programming(AOP)来实现记录操作日志的功能。我们将探讨Spring Boot集成AOP的基本概念,以及如何使用Spring Boot实现AOP记录操作日志。最后,我们将通过一个具体示例来演示整个实现过程。本文适合已经具备Spring Boot基础

    2024年02月22日
    浏览(59)
  • “从零开始学习Spring Boot:快速搭建Java后端开发环境“

    标题:从零开始学习Spring Boot:快速搭建Java后端开发环境 摘要:本文将介绍如何从零开始学习Spring Boot,并详细讲解如何快速搭建Java后端开发环境。通过本文的指导,您将能够快速搭建一个基于Spring Boot的Java后端开发环境并开始编写代码。 正文: 一、准备工作 在开始之前,

    2024年02月15日
    浏览(58)
  • logback 自定义log字段(MDC)推送到logstash(spring boot + logback+ logstash)

    直接上代码: 1.创建FIlter,往 MDC 里面追加内容 2.logback配置: includeMdcKeyName 标签 追加 mdc中的key

    2024年02月15日
    浏览(52)
  • 【Spring Boot】Spring Boot日志详情:基于lombok的日志输出

    日志文件是一种记录计算机系统或应用程序运行状态和活动的文件。日志文件可以包含各种重要信息,如错误报告、警告、事件、用户活动等。日志文件通常用于故障排除、性能优化、安全审计和法律合规等方面。日志文件可以在本地存储,也可以通过网络传输到远程服务器

    2024年02月12日
    浏览(41)
  • 【Spring Boot】(三)深入理解 Spring Boot 日志

    在现代软件开发中, 日志是一项至关重要的工具,它记录了应用程序运行过程中的关键信息,当程序运行出现错误的时候,可以帮助开发人员快速识别和解决存在的问题 。通过合理的日志记录,能够帮助我们更好地了解应用程序的运行情况,从而提高应用程序的稳定性和可

    2024年02月14日
    浏览(43)
  • 【Spring Boot】了解Spring Boot 的日志文件

    目录 一、日志的作用 二、日志文件的简单使用  1、Spring Boot中的默认日志 2、自定义日志打印 三、日志级别 1、日志级别分类  2、日志级别的设置 3、日志持久化 四、基于LomBok的日志输出 1、安装Lombok插件 2、使用Lombok添加日志(@slf4j) 3、使用Lombok添加getter和setter方法(@Da

    2024年02月13日
    浏览(44)
  • 【Spring Boot】Spring Boot的系统配置 — 日志配置

    日志对于系统监控、故障定位非常重要,比如当生产系统发生问题时,完整清晰的日志记录有助于快速定位问题。接下来介绍Spring Boot对日志的支持。 Spring Boot自带spring-boot-starter-logging库实现系统日志功能,spring-boot-starter-logging组件默认使用LogBack日志记录工具。系统运行日志

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包