!408 日志审计时候,能否提供多数据源下的数据库名称打印

Merge pull request !408 from huang__2/main
This commit is contained in:
Michael Yang 2024-01-17 15:35:21 +00:00 committed by Gitee
commit f919c176e9
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 25 additions and 5 deletions

View File

@ -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();

View File

@ -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 +
'}';
}

View File

@ -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);
}