diff --git a/README.md b/README.md
index 6d51de8..77f9edb 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
diff --git a/blade-core-boot/src/main/resources/log/logback_dev.xml b/blade-core-boot/src/main/resources/log/logback_dev.xml
index 40c1cb3..a1b35e0 100644
--- a/blade-core-boot/src/main/resources/log/logback_dev.xml
+++ b/blade-core-boot/src/main/resources/log/logback_dev.xml
@@ -76,6 +76,7 @@
+
diff --git a/blade-starter-mybatis/src/main/java/org/springblade/core/mp/plugins/SqlLogInterceptor.java b/blade-starter-mybatis/src/main/java/org/springblade/core/mp/plugins/SqlLogInterceptor.java
index 342cbd7..bc4bd3c 100644
--- a/blade-starter-mybatis/src/main/java/org/springblade/core/mp/plugins/SqlLogInterceptor.java
+++ b/blade-starter-mybatis/src/main/java/org/springblade/core/mp/plugins/SqlLogInterceptor.java
@@ -24,7 +24,6 @@ import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
import com.alibaba.druid.proxy.jdbc.StatementProxy;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.util.StringUtils;
-import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.props.MybatisPlusProperties;
import org.springblade.core.tool.utils.StringUtil;
@@ -44,11 +43,20 @@ import java.util.List;
* @author L.cm
*/
@Slf4j
-@RequiredArgsConstructor
public class SqlLogInterceptor extends FilterEventAdapter {
private static final SQLUtils.FormatOption FORMAT_OPTION = new SQLUtils.FormatOption(false, false);
+
+ private static final List SQL_LOG_EXCLUDE = new ArrayList<>();
+
private final MybatisPlusProperties properties;
+ public SqlLogInterceptor(MybatisPlusProperties properties) {
+ this.properties = properties;
+ if (!properties.getSqlLogExclude().isEmpty()) {
+ SQL_LOG_EXCLUDE.addAll(properties.getSqlLogExclude());
+ }
+ }
+
@Override
protected void statementExecuteBefore(StatementProxy statement, String sql) {
statement.setLastExecuteStartNano();
@@ -93,6 +101,10 @@ public class SqlLogInterceptor extends FilterEventAdapter {
public void statement_close(FilterChain chain, StatementProxy statement) throws SQLException {
// 先调用父类关闭 statement
super.statement_close(chain, statement);
+ // 线程标记忽略 sql 日志
+ if (SqlLogUtil.isIgnore()) {
+ return;
+ }
// 支持动态关闭
if (!properties.isSqlLog()) {
return;
@@ -107,6 +119,10 @@ public class SqlLogInterceptor extends FilterEventAdapter {
if (StringUtils.isEmpty(sql)) {
return;
}
+ // sql 包含排除的关键字直接返回
+ if (excludeSql(sql)) {
+ return;
+ }
int parametersSize = statement.getParametersSize();
List