定制网站[短的文章] Spring Boot 日志创建使用、日志级别、@Slf4j、日志持久化——Spring Boot 系列

前言:

定制网站想必日志大家伙在项目定制网站开发调试过程中常会使用,定制网站这篇文章我们来一起探讨一下 Spring Boot 定制网站项目中日志的定义与使用,定制网站主要针对以下几个方面重点叙述






1 日志简述


1.1 定制网站为什么使用日志

定制网站日志大家在开发过程中定制网站想必并不陌生,定制网站是什么的问题我就不过多赘述。定制网站但日志除去能够让我们定制网站快速定位和解决问题以外,定制网站在实际场景中还有诸多用处

  • 定制网站除去定位问题外,定制网站日志的业务功能如下
    • 定制网站记录用户登陆日志,定制网站避免恶意攻击

    • 定制网站记录系统操作日志,定制网站进行问题回溯

    • 记录程序执行时间,以便进行代码优化




1.2 日志级别

1)引入

  • 我们在实际场景中,日志除去记录重要的问题信息以外,还会记录众多操作、调试等细节信息,显然这两者日志的优先级必然是不一样的,我们自然更希望保留重要部分。如果我们有 过滤一些繁琐的细节信息、只将重要信息保留的需求,我们就可以对日志级别进行调整



2)具体级别

日志包含了以下 6 种隔离级别,从低到高进行排序(部分资料以下级别是从高到低排序)

  • trace:级别最低的日志

  • debug: 记录调试信息

  • info: 默认的隔离级别

  • warn:相关警告,一般不使用

  • error:错误信息

  • fatal:导致程序退出的信息,无需我们手动定义



3)如何设置

如果不进行设置,日志隔离级别默认是 info

  • 在配置文件中,使用如下进行设置

这里使用 yml 格式,root 表示将项目日志级别都设置为相同值

我们也可以给具体的 目录单独设置日志级别,直接在 level 下书写目录的路径和级别即可,一般我们只定义到 包级别 即可,





2 自定义日志


2.1 日志

1)引入

  • 如何自定义日志,我们最容易联想到使用最熟悉的 “System.out.println()”,这也是我们在调试代码中相对常用的手段。但是使用这种方法太过 “无脑”, 我们并不能获取到日志时间、隔离级别和定位具体类等最基本但重要的信息。为此,有众多现成完善的日志框架我们来使用即可


2)日志框架

  • 这里我们使用的是 slf4j 作为日志框架,这也是当下最主流的框架之一
  • slf4j 也使用了 “门面模式”,slf4j 就是是日志门面,更底层的实现上使用的就是 logback
    • 常见的日志门面还有 commons-logging,常见的日志实现还有 logg4j 1/2 和 JUL



2.2 slf4j 自定义日志

  • 获取 log 对象
  • 调用对象具体方法

1)获取 log 对象

  • 使用 loggingFactory 工厂类的 getLogger() 方法,并传入当前 类对象,获取 log 对象


2)调用 log 对象的具体方法

  • log 对象包含了众多方法,我们主要使用的就是 traceO()、debug()、info()、warn() 和 error() 这五种方法
  • 虽然这些方法都可以使用,但是显示的时候只会保留 比设定日志级别高的日志

注意导包使用 slf4j 下的

上面设置的日志级别是 warn,所以只打印 warn 级别及以上的


tip:

我们似乎发现,日志的级别明明有六种,为什么只有五种定义日志的方法,fatal 级别的日志定义方法去哪里了?

  • 其实只有项目出现致命错误、强制退出的时候,才会触发 fatal 级别的日志,而这种情境下的日志无需我们去考虑打印,所以也就没有提供 fatal 级别的日志定义方法



2.3 lombook 定义日志

1)具体使用

  • 使用 lombook 调用方法和上述相同,只是可以使用 @Slf4j 注释 直接获取到 log 对象,更加简洁,使用时直接使用 log 名称调用相关方法即可

2)实现原理

  • lombook 在将 .java 文件转换为 .class 文件时,会将 @Slf4j 注解对应的代码实现放入到字节码文件中

我们虽然使用了注释,在 .class 字节码中依然是 log 对象,可以在 target 目录下查看





3 日志持久化


3.1 为社么要日志持久化

  • 我们不难发现,当前的日志都是打印在控制台中的,我们重启程序的时候原本所有的日志信息都不复存在了,但是这定不是我们想看到的,我们期望能够将日志保存下来,以供后续的使用,这就得依靠日志的持久化



3.2 具体实现

1)设置路径

  • 在配置文件中,输入 logging.file.path 进行设置

注意对于 yml 格式来说,同一个根目录的数据要放在一起



2)设置文件名

  • 在配置文件中,输入 logging.file.name 进行设置,这里一般传入文件的绝对路径

上述默认文件名为 spring.log,我们可以传入绝对路径进行更改


tip:

上面两种方法实现日志持久化时,将日志写入到日志文件到操作并不会覆盖原有的数据,而是进行数据追加




总结:
本篇文章主要讨论了六大日志级别,如何使用 slf4j 创建 log 对象定义日志,lombook 使用 @Slf4j 注解更高效创建 log 对象,
以及最后如何在配置文件进行设置,实现日志持久化





至此,文章就全部结束了,觉得不错的铁子,欢迎 点赞、评论、收藏 三连哈

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发