diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/AuditManager.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/AuditManager.java index f2a8e298..0230b38b 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/AuditManager.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/AuditManager.java @@ -16,6 +16,8 @@ package com.mybatisflex.core.audit; import com.mybatisflex.core.FlexConsts; +import com.mybatisflex.core.datasource.DataSourceKey; +import com.mybatisflex.core.util.StringUtil; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.ParameterMapping; import org.apache.ibatis.mapping.ParameterMode; @@ -99,6 +101,10 @@ public class AuditManager { if (auditMessage == null) { return supplier.execute(); } + String key = DataSourceKey.get(); + if (StringUtil.isNotBlank(key)) { + auditMessage.setDsName(key); + } auditMessage.setQueryTime(clock.getTick()); try { T result = supplier.execute(); diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/AuditMessage.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/AuditMessage.java index fbae302d..b7f9585c 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/AuditMessage.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/AuditMessage.java @@ -95,6 +95,11 @@ public class AuditMessage implements Serializable { */ private long elapsedTime; + /** + * 数据库名称 + */ + private String dsName; + /** * 其他扩展元信息。 */ @@ -260,6 +265,14 @@ public class AuditMessage implements Serializable { metas.put(key, value); } + public String getDsName() { + return dsName; + } + + public void setDsName(String dsName) { + this.dsName = dsName; + } + @Override public String toString() { return "AuditMessage{" + @@ -275,6 +288,7 @@ public class AuditMessage implements Serializable { ", queryCount=" + queryCount + ", queryTime=" + queryTime + ", elapsedTime=" + elapsedTime + + ", dsName=" + dsName + ", metas=" + metas + '}'; } 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 bceb48a1..57b4bdc9 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,11 +18,11 @@ package com.mybatisflex.core.audit; public class ConsoleMessageCollector implements MessageCollector { - private SqlDebugPrinter printer = (sql, tookTimeMillis) -> { + private SqlDebugPrinter printer = (sql, dsName, tookTimeMillis) -> { if (tookTimeMillis != null) { - System.out.println("Flex exec sql took " + tookTimeMillis + " ms >>> " + sql); + System.out.println("Flex exec dsName >>> " + dsName + " sql took " + tookTimeMillis + " ms >>> " + sql); } else { - System.out.println("Flex exec sql >>> " + sql); + System.out.println("Flex exec dsName >>> " + dsName + " sql >>> " + sql); } }; @@ -35,12 +35,12 @@ public class ConsoleMessageCollector implements MessageCollector { @Override public void collect(AuditMessage message) { - printer.print(message.getFullSql(), message.getElapsedTime()); + printer.print(message.getFullSql(), message.getDsName(), message.getElapsedTime()); } public interface SqlDebugPrinter { - void print(String sql, Long tookTimeMillis); + void print(String sql, String dsName, Long tookTimeMillis); }