引入依赖
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>3.8.0</version>
</dependency>
新建spy.properties
配置文件
#3.2.1以上使用
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
#3.2.1以下使用或者不配置
#modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
#logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
logMessageFormat=com.moe.gulimall.common.config.P6SpyLogger
#日志输出到控制台
#appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 使用日志系统记录 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 设置 p6spy driver 代理
deregisterdrivers=true
# 取消JDBC URL前缀
useprefix=true
# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
#driverlist=org.h2.Driver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 2 秒
outagedetectioninterval=2
自定义输出格式
新建P6SpyLogger
,放在config
包下,在上面spy.properties
中配置好类的路径
package com.moe.gulimall.common.config;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.p6spy.engine.spy.appender.MessageFormattingStrategy;
public class P6SpyLogger implements MessageFormattingStrategy {
@Override
public String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql, String url) {
// return StringUtils.isNotBlank(sql) ? "\nExecute SQL:" + sql.replaceAll("[\\s]+", " ") + "\n" +"Consume Time:" + elapsed + " ms " + now : "";
return StringUtils.isNotBlank(sql) ? now + " | 耗时 " + elapsed + " ms | SQL 语句:\n" + sql.replaceAll("[\\s]+", " ") : "";
}
}
运行结果
2023-03-20 20:03:20.929 INFO 35156 --- [io-10000-exec-5] p6spy : 2023-03-20 20:03:20 | 耗时 13 ms | SQL 语句:
SELECT cat_id,name,parent_cid,cat_level,show_status,sort,icon,product_unit,product_count FROM pms_category
版权属于:本文为原创文章,版权归 猫先生 所有
本文链接:https://loli.rip/index.php/archives/614/
转载时须注明出处及本声明