Springboot интегрирует вывод sql mybatis-plus в файл журнала.

Springboot интегрирует вывод sql mybatis-plus в файл журнала.

В обычной ежедневной разработке мы хотим, чтобы sql печатался на консоли, пока конфигурация выглядит следующим образом

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

Но в продакшене, если вы хотите вывести sql в лог файл, то есть несколько способов добиться этого Ниже я буду использовать два метода, обычно используемых в проекте (без введения сторонних зависимостей)

1. Измените конфигурацию файла yml

Недостаток: нужно включить уровень отладки указанного пакета, а в продакшене уровень лога вообще информационный

1. В выходном файле журнала конфигурации среда журнала Springboot по умолчанию — logback,
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
2. Изменить уровень вывода журнала

Поскольку класс реализации печати журнала JsqlParserCountOptimize, уровень журнала оценивается выше, если это уровень отладки, будет напечатан sql

вставьте сюда описание изображения

logging:
  level:
    com.baomidou.mybatisplus: DEBUG

3. Измените уровень вывода журнала пакета картографа в проекте.

Поскольку маппер в нашем проекте имеет динамический прокси для класса операции базы данных, а уровень отладки также ограничен в org.apache.ibatis.executor.BaseExecutor, поэтому его также необходимо установить на уровень отладки
вставьте сюда описание изображения

logging:
  level:
    com.baomidou.mybatisplus: DEBUG
    com.xl.finance.module: DEBUG

Примечание. Если преобразователь находится в другом пакете, путь нельзя заменить подстановочным знаком (*), а диапазон путей пакета необходимо увеличить.

Настроенный в файле отладки проекта, вы можете увидеть следующий эффект

вставьте сюда описание изображения

2. Введите зависимость p6spy

1. Введите пакет зависимостей p6spy

Версия репозитория maven: https://mvnrepository.com/artifact/p6spy/p6spy

<!-- https://mvnrepository.com/artifact/p6spy/p6spy -->
<dependency>
    <groupId>p6spy</groupId>
    <artifactId>p6spy</artifactId>
    <version>3.9.1</version>
</dependency>

2. Измените драйвер соединения jdbc.

В основном модифицировать: имя класса драйвера и jdbc-url

jdbc-url: jdbc:p6spy:mysql://${
    
    db.host}:${
    
    db.port}/${
    
    db.name}?useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
driver-class-name: com.p6spy.engine.spy.P6SpyDriver

3. Создайте новый файл с spy.properties

#日志格式
appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 格式化
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
# 取消JDBC的url前缀
useprefix=true

Затем в лог-файле информации нашего проекта мы можем увидеть следующий эффект

вставьте сюда описание изображения

Guess you like

Origin blog.csdn.net/qq798867485/article/details/129734277