调整打印SQL语句逻辑
This commit is contained in:
parent
1fc620b814
commit
d008656abe
@ -175,9 +175,15 @@ public class BoundSql {
|
||||
RequestEntity requestEntity = RequestContext.getRequestEntity();
|
||||
interceptors.forEach(interceptor -> interceptor.preHandle(this, requestEntity));
|
||||
Supplier<T> newSupplier = () -> {
|
||||
Object result = supplier.get();
|
||||
for (SQLInterceptor interceptor : interceptors) {
|
||||
result = interceptor.postHandle(this, result, requestEntity);
|
||||
Object result;
|
||||
try {
|
||||
result = supplier.get();
|
||||
for (SQLInterceptor interceptor : interceptors) {
|
||||
result = interceptor.postHandle(this, result, requestEntity);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
interceptors.forEach(interceptor -> interceptor.handleException(this, e, requestEntity));
|
||||
throw e;
|
||||
}
|
||||
return (T) result;
|
||||
};
|
||||
|
||||
@ -16,8 +16,7 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
public class DefaultSqlInterceptor implements SQLInterceptor {
|
||||
|
||||
@Override
|
||||
public void preHandle(BoundSql boundSql, RequestEntity requestEntity) {
|
||||
private void handleLog(BoundSql boundSql, RequestEntity requestEntity){
|
||||
Logger logger = LoggerFactory.getLogger(requestEntity == null ? "Unknown" : requestEntity.getMagicScriptContext().getScriptName());
|
||||
String parameters = Arrays.stream(boundSql.getParameters()).map(it -> {
|
||||
if (it == null) {
|
||||
@ -34,4 +33,14 @@ public class DefaultSqlInterceptor implements SQLInterceptor {
|
||||
logger.info("SQL参数:{}", parameters);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public Object postHandle(BoundSql boundSql, Object result, RequestEntity requestEntity) {
|
||||
handleLog(boundSql, requestEntity);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleException(BoundSql boundSql, Throwable throwable, RequestEntity requestEntity) {
|
||||
handleLog(boundSql, requestEntity);
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,5 +31,14 @@ public interface SQLInterceptor {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 2.1.0
|
||||
* @param boundSql SQL信息
|
||||
* @param throwable 异常信息
|
||||
* @param requestEntity 请求信息
|
||||
*/
|
||||
default void handleException(BoundSql boundSql, Throwable throwable, RequestEntity requestEntity){
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user