Spring Boot - 日志记录

Spring Boot - 日志记录,第1张

[TOC]

Spring Boot 内部使用的日志框架为 Commons Logging ,但是 Commons Logging 的内部具体实现可以由用户自行指定。

默认已提供了对 Java Utils Logging , Log4J2 和 Logback 日志库的相关配置

无论选择以上哪一个日记库,Spring Boot 都预置了将日志输出到控制台以及可选的文件上。

如果项目配置使用起步依赖(Starters),那么默认情况下,Spring Boot 使用的日记记录库为 Logback。

因此,本文主要介绍在 Spring Boot 中使用 Logback 进行日志记录。

前面已经介绍过,Spring Boot 默认使用的日志框架为 Apache Commons Logging 。

在 Spring 4.x(也即 Spring Boot 1.x )时,我们需要手动进行依赖导入。

但是在 Spring 5.x(也即 Spring Boot 2.x )时,该依赖由 Spring Framework 模块 spring-jcl 提供。

当我们项目使用各种起步依赖(Starter)时, spring-jcl 模块包含在 spring-boot-starter-logging 中,理论上我们需要手动导入该依赖,如下所示:

但实际上我们无需手动导入该起步依赖,因为几乎每一个起步依赖(比如: spring-boot-starter , spring-boot-starter-web ...)都内置了 spring-boot-starter-logging 。

因此,当我们使用起步依赖创建 Spring Boot 项目时,日志功能开箱即可用。

且日记框架内部默认实现采用 Logback。

还有其他一些设置日志级别的方法,这里就不展开阐述了。

更多内容可参考: Log Levels zero-configuration-logging

Spring Boot 支持多种不同的日志系统实现,可以通过导入相应的依赖库从而在运行时激活对应的日志系统,并且可以通过在 classpath 或 logging.config 属性指定一个配置文件,实现自定义系统日志配置。

对于不同的日志系统,Spring Boot 会默认加载的日志配置文件如下表所示:

:Spring Boot 建议我们使用带有 -spring 后缀的作为日志配置文件名称(即相较于使用 logback.xml ,更建议使用 logback-spring.xml )。

如果使用标准配置路径,Spring 无法完全控制日志初始化过程(因为 logback.xml 的加载时间非常早,导致一些扩展功能无法在其内进行配置,而此时使用 logback-spring.xml 即可解决这个问题)。

我们主要关注的是 Logback 的配置文件内容。

要对 Logback 添加配置文件,只需创建 resources/logback-spring.xml ,然后对该文件进行配置即可,其基本配置内容如下:

:日志配置文件路径也可以在 application.properties 中进行指定:

简单对上述 logback-spring.xml 的配置内容进行一些介绍:

更多 Logback 配置文件内容,请参考: A Guide To Logback

可以通过在日志配置文件中使用标签 <springProfile>来创建不同的环境日志配置。

比如,我们可以通过定义生产环境 prod ,测试环境 test 和开发环境 dev 来实现不同的日志输出,如下所示:

然后,启动服务的时候,设置相应环境的 profile 即可。

比如,可以直接通过命令指定运行环境 profile,如下:

Spring Boot 多环境配置内容,可参考: Spring Boot - 多环境配置

一、创建日志注解

1、 日志类型枚举类

2、自定义日志注解

二、利用AOP实现日志切面统一处理

1、 日志实现类创建工厂

2、 切面类

三、 创建日志实现类

1、添加日志接口

2、添加日志接口实现类

四、controller


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7931962.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存