From f9502671cf7c56372ff9a855e7dcf77093455b88 Mon Sep 17 00:00:00 2001 From: huangxy Date: Thu, 18 Jan 2024 10:21:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20add=20=E5=A4=9A=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E6=89=93=E5=8D=B0=E6=95=B0=E6=8D=AE=E6=BA=90=E5=90=8D?= =?UTF-8?q?=E5=AD=97=20=E6=96=B0=E5=A2=9E=E6=89=A9=E5=B1=95=20SqlDebugExtP?= =?UTF-8?q?rinter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/audit/ConsoleMessageCollector.java | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/ConsoleMessageCollector.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/ConsoleMessageCollector.java index 255190f9..930f2d0c 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/ConsoleMessageCollector.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/ConsoleMessageCollector.java @@ -18,12 +18,18 @@ package com.mybatisflex.core.audit; public class ConsoleMessageCollector implements MessageCollector { - private SqlDebugPrinter printer = (sql, dsName, tookTimeMillis) -> { + private SqlDebugPrinter printer = (sql, tookTimeMillis) -> { + if (tookTimeMillis != null) { + System.out.println("Flex exec sql took " + tookTimeMillis + " ms >>> " + sql); + } else { + System.out.println("Flex exec sql >>> " + sql); + } + }; + + private SqlDebugExtPrinter extPrinter = (sql, dsName, tookTimeMillis) -> { StringBuilder buffer = new StringBuilder(); buffer.append("Flex exec"); - if (dsName != null) { - buffer.append("dsName >>> ").append(dsName); - } + buffer.append("dsName >>> ").append(dsName); if (tookTimeMillis != null) { buffer.append(" sql took ").append(tookTimeMillis).append(" ms >>> ").append(sql); } else { @@ -39,13 +45,29 @@ public class ConsoleMessageCollector implements MessageCollector { this.printer = printer; } + + public ConsoleMessageCollector(SqlDebugExtPrinter printer) { + this.extPrinter = printer; + } + @Override public void collect(AuditMessage message) { - printer.print(message.getFullSql(), message.getDsName(), message.getElapsedTime()); + if (message.getDsName() == null) { + printer.print(message.getFullSql(), message.getElapsedTime()); + } else { + extPrinter.print(message.getFullSql(), message.getDsName(), message.getElapsedTime()); + } } public interface SqlDebugPrinter { + void print(String sql, Long tookTimeMillis); + + } + + + public interface SqlDebugExtPrinter { + void print(String sql, String dsName, Long tookTimeMillis); }