MyBatisPlus快速入门(三)MyBatisPlus配置日志输出

我就是我 2023-10-12 20:28 54阅读 0赞

作者主页:Designer 小郑
作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者。

在这里插入图片描述

目录

  • 一、为什么要进行日志输出
    • 1.1 什么是日志输出
    • 1.2 为什么要进行日志输出
  • 二、MyBatisPlus可以配置哪几类日志?
    • 2.1 Log4j2
    • 2.2 Logback
    • 2.3 Slf4j
  • 三、什么场景下需要打印日志

在这里插入图片描述

一、为什么要进行日志输出

1.1 什么是日志输出

Java的日志输出是指在程序运行时,通过记录一系列信息来了解程序的执行情况和状态,并将这些信息输出到控制台或者文件中等目的地

Java提供了很多种日志输出框架,比如JDK自带的java.util.logging、Log4j、Logback、Slf4j等第三方框架。这些框架提供了丰富的功能和配置选项,可以实现不同级别的日志输出、不同格式的日志消息、输出到不同的目的地(控制台、文件、数据库等),以及日志滚动、异步输出等特性。

在Java应用程序的开发和运维中,日志输出是非常重要的一环,它可以帮助我们快速定位问题,监控系统运行状况,分析业务数据,优化程序性能等。

1.2 为什么要进行日志输出

MyBatisPlus配置日志输出可以帮助我们更好地了解应用程序在运行时的行为,包括数据库操作语句、查询结果、异常信息等

通过查看日志输出,我们可以快速定位问题并进行调试,提高开发效率和程序稳定性。

此外,对于一些关键业务场景,比如数据修改等,日志记录也可以作为审计或者安全监控的依据,确保数据的完整性和安全性
在这里插入图片描述

二、MyBatisPlus可以配置哪几类日志?

2.1 Log4j2

Log4j2 是Apache基金会的一个开源项目,具有高性能、多线程安全、可扩展等特点。

Log4j2是Apache基金会的一个开源日志框架,是Log4j框架的升级版

与Log4j相比,Log4j2具有更好的性能和可靠性,并支持异步日志、自动配置等新特性。Log4j2提供了丰富的日志输出选项,可以将日志信息输出到控制台、文件、数据库等目的地,同时支持不同格式的日志消息,灵活配置各种日志属性。

可以说,Log4j2是Java应用程序中最流行、最成熟的日志框架之一,广泛应用于各种场景中,包括Web应用、大数据分析、企业应用等。

在使用Log4j2时,只需要引入相应的依赖,配置对应的配置文件即可开始记录日志。

在使用 Log4j2 作为 MybatisPlus 的日志框架时,需要在 pom.xml 中引入 log4j2 的依赖,代码如下。

  1. <!-- pom.xml -->
  2. <dependency>
  3. <groupId>org.apache.logging.log4j</groupId>
  4. <artifactId>log4j-slf4j-impl</artifactId>
  5. <version>${log4j2.version}</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.apache.logging.log4j</groupId>
  9. <artifactId>log4j-core</artifactId>
  10. <version>${log4j2.version}</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.apache.logging.log4j</groupId>
  14. <artifactId>log4j-api</artifactId>
  15. <version>${log4j2.version}</version>
  16. </dependency>

然后在 log4j2 的配置文件中,配置输出级别、输出格式以及输出目的地等,代码如下。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Configuration>
  3. <Appenders>
  4. <Console name="Console" target="SYSTEM_OUT">
  5. <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } [%t] - %c.%M(%L)%n%m%n"/>
  6. </Console>
  7. </Appenders>
  8. <Loggers>
  9. <Root level="debug">
  10. <AppenderRef ref="Console"/>
  11. </Root>
  12. </Loggers>
  13. </Configuration>

上述配置将日志输出到控制台,并按照指定的格式进行输出。

在这里插入图片描述

2.2 Logback

Logback是一个开源的日志框架,是log4j框架的继承者,也是目前广泛使用的Java日志框架之一

Logback 提供了良好的性能和灵活的配置选项,它支持多种日志输出格式、日志级别、日志滚动等特性,并且能够与不同的日志门面框架(如Slf4j)进行整合,方便地适应不同的项目需求。在Logback中,最基本的组成部分是Logger、Appender和Layout。

Logger用于记录日志消息,Appender用于将日志消息输出到指定的目的地,Layout用于定义日志消息的输出格式。除此之外,Logback还提供了过滤器、异步输出等高级特性,可以进一步优化日志输出的效率和可靠性。

使用 Logback 作为 MybatisPlus 的日志框架时,需要在 pom.xml 中引入 logback 的依赖,代码如下。

  1. <!-- pom.xml -->
  2. <dependency>
  3. <groupId>ch.qos.logback</groupId>
  4. <artifactId>logback-classic</artifactId>
  5. <version>${logback.version}</version>
  6. </dependency>

然后在 logback 的配置文件中,配置输出级别、输出格式以及输出目的地等,代码如下。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  4. <encoder>
  5. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } [%t] - %c.%M(%L)%n%m%n</pattern>
  6. </encoder>
  7. </appender>
  8. <root level="debug">
  9. <appender-ref ref="STDOUT"/>
  10. </root>
  11. </configuration>

上述配置将日志输出到控制台,并按照指定的格式进行输出。

在这里插入图片描述

2.3 Slf4j

Slf4j 是一个简单的日志门面框架,可以与不同的日志实现进行整合

Slf4j是一个简单的、通用的日志门面框架,旨在解决Java应用中使用不同日志框架导致的兼容性问题。

Slf4j只定义了一组接口和规范,并未实现具体的日志功能,而是通过与底层日志实现框架进行适配,实现与各种日志框架的整合。Slf4j提供了丰富的日志级别、格式等配置选项,同时也支持MDC等高级功能,可以帮助开发人员快速、灵活地记录和管理日志信息

相对于直接使用Log4j或者其他日志框架,使用Slf4j的优势在于可以轻松地切换不同日志框架,并且避免引入多个日志框架导致的冲突和兼容性问题。

使用 Slf4j 作为 MybatisPlus 的日志框架时,需要在 pom.xml 中引入 slf4j 的依赖,代码如下。

  1. <!-- pom.xml -->
  2. <dependency>
  3. <groupId>org.slf4j</groupId>
  4. <artifactId>slf4j-api</artifactId>
  5. <version>${slf4j.version}</version>
  6. </dependency>

然后在配置文件中,指定要使用的日志实现,代码如下。

  1. <!-- pom.xml -->
  2. <dependency>
  3. <groupId>org.apache.logging.log4j</groupId>
  4. <artifactId>log4j-slf4j-impl</artifactId>
  5. <version>${log4j2.version}</version>
  6. </dependency>

在这里插入图片描述

三、什么场景下需要打印日志

在Spring Boot项目中,打印日志是非常重要的。下面列举了一些场景下需要打印日志。

  1. 输出 a = 1
  2. 测试结果 b = -2
  • 调试程序:打印日志可以帮助开发人员快速定位问题,查看代码的执行情况,找到出错的原因。
  • 监控系统状态:通过打印日志来监控系统的运行状况,包括系统负载、请求处理时间等指标,及时发现问题并进行调整。
  • 安全审计:打印日志可以记录敏感操作,比如用户登录、数据修改等,作为安全审计的依据,确保数据的完整性和安全性。
  • 性能分析:通过打印不同级别的日志信息,可以了解应用程序的性能表现,包括响应时间、数据库查询时间等,从而优化程序并提高性能。
  • 业务分析:通过打印日志,可以对业务流程进行分析和统计,了解用户行为等信息,为业务决策提供依据。

总之,在任何需要跟踪程序运行状态或者进行问题排查的场景中,打印日志都是必要的

但是注意,过多、过于详细的日志输出会给系统性能带来影响,所以需要根据实际需要进行设置。
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,54人围观)

还没有评论,来说两句吧...

相关阅读