您的位置:

Mybatis-plus 日志详解

一、日志框架概述

1、什么是日志框架

日志框架是一个用于管理日志的工具,使用日志框架可以帮助开发人员记录程序运行时产生的信息、警告和错误消息。常用的日志框架有log4j和logback等。

2、日志框架的作用

使用日志框架可以对程序的运行情况进行记录和监控,从而更快地发现和解决问题。同时,日志框架可以帮助开发人员更好地了解程序各个组件之间的运行情况,对程序的优化也有一定的帮助作用。

3、Mybatis-plus的日志框架

Mybatis-plus集成了日志框架,可以将程序运行时产生的日志进行记录,方便开发人员进行问题排查。

二、Mybatis-plus日志配置

1、日志等级配置

logging:
  level:
    com.baomidou.mybatisplus: DEBUG

2、日志文件输出配置

logging:
  level:
    com.baomidou.mybatisplus: DEBUG
  file:
    name: mybatis.log
    path: /data/logs

3、控制台输出配置

logging:
  level:
    com.baomidou.mybatisplus: DEBUG
  pattern:
    console: '[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%level] - %msg%n'

三、Mybatis-plus日志输出

1、SQL日志输出

Mybatis-plus默认输出执行的SQL语句,格式如下:

DEBUG [http-nio-8080-exec-1] c.b.mp.c.i.DebugInterceptor.execute(DebugInterceptor.java:40) - ==>  Preparing: SELECT * FROM user WHERE id = ?
DEBUG [http-nio-8080-exec-1] c.b.mp.c.i.DebugInterceptor.execute(DebugInterceptor.java:40) - ==> Parameters: 1(Integer)
DEBUG [http-nio-8080-exec-1] c.b.mp.c.i.DebugInterceptor.execute(DebugInterceptor.java:40) - <==      Total: 1

2、其他日志输出

除了SQL日志之外,Mybatis-plus还会输出一些其他的日志信息,比如数据源信息、缓存信息等。这些日志信息可以帮助开发人员更好地了解程序的运行情况,方便问题排查。

四、Mybatis-plus日志实战

1、添加maven依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.0</version>
</dependency>

2、定义实体类

@Data
@EqualsAndHashCode(callSuper = false)
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    private String name;

    private Integer age;

    private String email;

    private LocalDateTime createTime;

}

3、定义Mapper接口

public interface UserMapper extends BaseMapper<User> {

}

4、定义Service接口及实现

public interface UserService extends IService<User> {

}

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}

5、添加日志配置

logging:
  level:
    com.baomidou.mybatisplus: DEBUG

6、进行单元测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserTest {

    @Autowired
    private UserService userService;

    @Test
    public void test() {
        userService.list();
    }

}

五、总结

在Mybatis-plus中,集成日志框架可以帮助开发人员更好地进行问题排查和程序优化。通过对日志等级、文件输出、控制台输出的配置,我们可以对日志进行更加精细的管理和控制。在实际开发中,我们也可以根据需求添加自定义的日志输出。最后,建议开发人员在开发过程中养成良好的日志习惯,对程序的运行情况进行始终记录和监控。