mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 17:48:25 +08:00
!408 日志审计时候,能否提供多数据源下的数据库名称打印
Merge pull request !408 from huang__2/main
This commit is contained in:
commit
f919c176e9
@ -16,6 +16,8 @@
|
|||||||
package com.mybatisflex.core.audit;
|
package com.mybatisflex.core.audit;
|
||||||
|
|
||||||
import com.mybatisflex.core.FlexConsts;
|
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.BoundSql;
|
||||||
import org.apache.ibatis.mapping.ParameterMapping;
|
import org.apache.ibatis.mapping.ParameterMapping;
|
||||||
import org.apache.ibatis.mapping.ParameterMode;
|
import org.apache.ibatis.mapping.ParameterMode;
|
||||||
@ -99,6 +101,10 @@ public class AuditManager {
|
|||||||
if (auditMessage == null) {
|
if (auditMessage == null) {
|
||||||
return supplier.execute();
|
return supplier.execute();
|
||||||
}
|
}
|
||||||
|
String key = DataSourceKey.get();
|
||||||
|
if (StringUtil.isNotBlank(key)) {
|
||||||
|
auditMessage.setDsName(key);
|
||||||
|
}
|
||||||
auditMessage.setQueryTime(clock.getTick());
|
auditMessage.setQueryTime(clock.getTick());
|
||||||
try {
|
try {
|
||||||
T result = supplier.execute();
|
T result = supplier.execute();
|
||||||
|
|||||||
@ -95,6 +95,11 @@ public class AuditMessage implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private long elapsedTime;
|
private long elapsedTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据库名称
|
||||||
|
*/
|
||||||
|
private String dsName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其他扩展元信息。
|
* 其他扩展元信息。
|
||||||
*/
|
*/
|
||||||
@ -260,6 +265,14 @@ public class AuditMessage implements Serializable {
|
|||||||
metas.put(key, value);
|
metas.put(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDsName() {
|
||||||
|
return dsName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDsName(String dsName) {
|
||||||
|
this.dsName = dsName;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "AuditMessage{" +
|
return "AuditMessage{" +
|
||||||
@ -275,6 +288,7 @@ public class AuditMessage implements Serializable {
|
|||||||
", queryCount=" + queryCount +
|
", queryCount=" + queryCount +
|
||||||
", queryTime=" + queryTime +
|
", queryTime=" + queryTime +
|
||||||
", elapsedTime=" + elapsedTime +
|
", elapsedTime=" + elapsedTime +
|
||||||
|
", dsName=" + dsName +
|
||||||
", metas=" + metas +
|
", metas=" + metas +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,11 +18,11 @@ package com.mybatisflex.core.audit;
|
|||||||
|
|
||||||
public class ConsoleMessageCollector implements MessageCollector {
|
public class ConsoleMessageCollector implements MessageCollector {
|
||||||
|
|
||||||
private SqlDebugPrinter printer = (sql, tookTimeMillis) -> {
|
private SqlDebugPrinter printer = (sql, dsName, tookTimeMillis) -> {
|
||||||
if (tookTimeMillis != null) {
|
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 {
|
} 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
|
@Override
|
||||||
public void collect(AuditMessage message) {
|
public void collect(AuditMessage message) {
|
||||||
printer.print(message.getFullSql(), message.getElapsedTime());
|
printer.print(message.getFullSql(), message.getDsName(), message.getElapsedTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface SqlDebugPrinter {
|
public interface SqlDebugPrinter {
|
||||||
|
|
||||||
void print(String sql, Long tookTimeMillis);
|
void print(String sql, String dsName, Long tookTimeMillis);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user