关于 SpringBoot 日志文件的知识

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

目录

日志有什么用?

日志怎么用?

自定义日志打印

在程序中得到日志对象

使用日志对象打印日志

日志格式

日志级别的分类与使用

日志级别设置

日志持久化


日志有什么用?

日志对于我们来说,最主要的用途就是排除和定位问题。

除了发现和定位问题之外,我们还可以通过日志实现以下功能:

        记录用户登录日志,方便分析用户是正常登录还是恶意破解用户。

        记录系统的操作日志,方便数据恢复和定位操作人。

        记录程序的执行时间,方便为以后优化程序提供数据支持。

以上这些都是日志提供的非常实用的功能。

日志怎么用?

Spring Boot 项目在启动的时候默认就有日志输出,如下图所示:

关于 SpringBoot 日志文件的知识

通过上述日志信息我们能发现以下 3 个问题:

        1.Spring Boot 内置了日志框架(不然也输出不了日志)。

        2. 默认情况下,输出的日志并非是开发者定义和打印的,那开发者怎么在程序中自定义打印日志呢?

        3. 日志默认是打印在控制台上的,而控制台的日志是不能被保存的,那么怎么把日志永久的保存下来呢?

自定义日志打印

开发者自定义打印日志的实现步骤:

        1. 在程序中得到日志对象。

        2. 使用日志对象的相关语法输出要打印的内容。 

在程序中得到日志对象

在程序中获取日志对象需要使用日志工厂 LoggerFactory,如下代码所示:

private static Logger logger = LoggerFactory.getLogger(UserController.class);

日志工厂需要将每个类的类型传递进去,这样我们才知道日志的归属类,才能更方便、更直观的定位到问题类。

注意:Logger 对象是属于 org.slf4j 包下的

关于 SpringBoot 日志文件的知识

因为 Spring Boot 中内置了日志框架 Slf4j,所以咱们可以直接在程序中调用 slf4j 来输出日志。

使用日志对象打印日志

日志对象的打印方法有很多种,我们可以先使用 info() 方法来输出日志,如下代码所示:

logger.info("--------------要输出日志的内容----------------");

关于 SpringBoot 日志文件的知识

日志格式

关于 SpringBoot 日志文件的知识

日志级别的分类与使用

trace:微量,少许的意思,级别最低;

debug:需要调试时候的关键信息打印;

info:普通的打印信息(默认日志级别);

warn:警告,不影响使用,但需要注意的问题;

error:错误信息,级别较高的错误日志信息;

fatal:致命的,因为代码异常导致程序退出执行的事件。

日志级别的顺序:

关于 SpringBoot 日志文件的知识

越往上接收到的消息就越少,如设置了 warn 就只能收到 warn、error、fatal 级别的日志了。

日志级别设置

日志级别配置只需要在配置文件中设置“logging.level”配置项即可,如下所示:

logging:
  level:
   root: error

配置跟路径的日志级别。

@RestController
@RequestMapping("/user")
public class UserController {
     // 1.得到⽇志对象
     private static Logger logger =
             LoggerFactory.getLogger(UserController.class);
     @Value("${server.port}")
     private String port;
     @Value("${spring.datasource.url}")
     private String url;
     @RequestMapping("/sayhi")
     public String sayHi() {
     // 2.使⽤⽇志打印⽇志
     logger.trace("================= trace ===============");
     logger.debug("================= debug ===============");
     logger.info("================= info ===============");
     logger.warn("================= warn ===============");
     logger.error("================= error ===============");
     return "Hi," + url;
     }
}

默认日志输出级别是info

日志持久化

以上的日志都是输出在控制台上的,然而在生产环境上咱们需要将日志保存下来,以便出现问题之后追溯问题,把日志保存下来的过程就叫做持久化。

想要将日志进行持久化,只需要在配置文件中指定日志的存储目录或者是指定日志保存文件名之后, Spring Boot 就会将控制台的日志写到相应的目录或文件下了。

配置日志文件的保存路径:

# 设置⽇志⽂件的⽬录
logging:
 file:
 path: D:\\home\\test

配置日志文件的文件名:文章来源地址https://www.toymoban.com/news/detail-499393.html

# 设置⽇志⽂件的⽬录
logging:
 file:
 path: D:/home/tests/pring-1204.log

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

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

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

相关文章

  • Linux 学习笔记(2)—— 关于文件和目录

    目录 1、切换目录 2、查看系统信息 3、文本的创建和编辑 3-1)创建文件  3-2)查看文件 3-3)输出重定向和追加重定向等 3-4)使用 vi 编辑器编辑文件 4、文件和文件夹的处理 4-1)对文件的处理  4-2)查看目录信息 4-3)对目录的操作 5、文件查找 6、查找文件中的内容 7、使用

    2024年02月09日
    浏览(67)
  • 软件测试Pytest实现接口自动化应该如何在用例执行后打印日志到日志目录生成日志文件?

    Pytest可以使用内置的logging模块来实现接口自动化测试用例执行后打印日志到日志目录以生成日志文件。以下是实现步骤: 1、在pytest配置文件(conftest.py)中,定义一个日志输出路径,并设置logging模块。 2、在测试用例中调用logging模块,输入需要生成的日志信息。 3、运行p

    2024年02月10日
    浏览(58)
  • 关于Linux Docker springboot jar 日志时间不正确 问题解决

    使用Springboot项目的jar,制作了一个Docker镜像,启动该镜像后发现容器和容器中的Springboot 项目的日志时间不正确。 解决 查看容器时间命令为: docker exec 容器id date 在启动镜像时候把操作系统的时间通过\\\"只读\\\"的方式挂载到容器中 添加命令行配置 比如: 在制作镜像时候,运行

    2024年02月12日
    浏览(39)
  • SpringBoot实现文件记录日志,日志文件自动归档和压缩

    😊 @ 作者: Eric 💖 @ 主页: https://blog.csdn.net/weixin_47316183?type=blog 🎉 @ 主题: SpringBoot实现文件记录日志,日志文件自动归档和压缩 ⏱️ @ 创作时间: 2023年08月06日 Logback 是一个Java日志框架,它是 log4j 的后继者,被广泛用于应用程序中记录日志。 Logger(日志记录器): L

    2024年02月14日
    浏览(33)
  • Linux文件系统目录有什么用?

    学习文件系统的意义在于文件系统有很多设计思路可以迁移到实际的工作场景中,比如: MySQL 的 binlog 和 Redis AOF 都像极了日志文件系统的设计; B Tree用于加速磁盘数据访问的设计,对于索引设计也有通用的意义。 特别是近年来分布式系统的普及,学习分布式文件系统,也是

    2024年02月03日
    浏览(46)
  • SpringBoot获取jar文件所在目录

    例如我把jar文件放在/opt/test/目录下,并且把当前工作目录定位在/opt/test/目录下,获取到的结果确实是:/opt/test/ 但是! 但是! 但是!当我把工作目录切换(cd /home/)到其它地方:例如:/home/ 这时候再次通过上面的方式获取到的结果就不是理想的结果了,而是:/home/ 之后我

    2024年02月09日
    浏览(37)
  • SpringBoot(项目创建使用+配置文件+日志文件)

    目录 1. Spring Boot 项目创建 2. 写一个 Hello World 并运行 3. 配置文件的作用及格式 4. properties 配置文件的基本语法  5. 读取配置文件 6. yml 配置文件说明 7. properties 和 yml 的区别 8. SpringBoot 日志文件 8.1 日志的作用 8.2 自定义日志打印 8.3 日志的级别 8.4 日志持久化 8.5 更简单的实现

    2024年01月22日
    浏览(54)
  • SpringBoot配置文件和日志

    目录 SpringBoot配置文件 SpringBoot配置文件的作用  项目中的重要数据写在配置文件当中 降低代码耦合  SpringBoot配置文件的格式  properties配置文件 读取配置文件中的内容(@Value注解使用${}格式读取) properties优缺点  yml配置文件  yml特点: yml语法  yml对于单双引号的问题  y

    2024年02月05日
    浏览(40)
  • SpringBoot日志文件

    除了 发现和定位问题 之外,我们还可以通过日志实现以下功能: 记录用户登录日志,方便分析用户是正常登录还是恶意破解用户 记录系统的操作日志,方便数据恢复和定位操作⼈。 记录程序的执行时间,方便为以后优化程序提供数据支持。 Spring Boot 项目在启动的时候默认

    2024年02月06日
    浏览(25)
  • 6.SpringBoot 日志文件

    大家好,我是晓星航。今天为大家带来的是 SpringBoot 日志文件 相关的讲解!😀 ⽇志是程序的重要组成部分,想象⼀下,如果程序报错了,不让你打开控制台看⽇志,那么你能找到报错的原因吗? 答案是否定的,写程序不是买彩票,不能完全靠猜,因此⽇志对于我们来说,最

    2024年04月26日
    浏览(23)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包