From f18cba1cb654c819530e17c3c844cd590f222542 Mon Sep 17 00:00:00 2001 From: lijiahang Date: Mon, 3 Jul 2023 11:08:41 +0800 Subject: [PATCH] review code. --- ...or.java => AbstractLogPrinterInterceptor.java} | 15 ++++++++------- .../core/interceptor/LogPrinterInterceptor.java | 2 ++ .../interceptor/PrettyLogPrinterInterceptor.java | 13 +++++++++---- .../interceptor/RowLogPrinterInterceptor.java | 13 +++++++------ .../web/core/handler/WrapperResultHandler.java | 1 - 5 files changed, 26 insertions(+), 18 deletions(-) rename orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/{BaseLogPrinterInterceptor.java => AbstractLogPrinterInterceptor.java} (95%) diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/BaseLogPrinterInterceptor.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/AbstractLogPrinterInterceptor.java similarity index 95% rename from orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/BaseLogPrinterInterceptor.java rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/AbstractLogPrinterInterceptor.java index bbe0a1f1..7dda8cb9 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/BaseLogPrinterInterceptor.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/AbstractLogPrinterInterceptor.java @@ -36,7 +36,7 @@ import java.util.function.Predicate; * @version 1.0.0 * @since 2023/6/29 10:36 */ -public abstract class BaseLogPrinterInterceptor implements LogPrinterInterceptor { +public abstract class AbstractLogPrinterInterceptor implements LogPrinterInterceptor { /** * 请求头过滤器 @@ -68,7 +68,7 @@ public abstract class BaseLogPrinterInterceptor implements LogPrinterInterceptor @Qualifier("desensitizeValueSerializeFilter") private ValueFilter desensitizeValueSerializeFilter; - public BaseLogPrinterInterceptor(LogPrinterConfig config) { + public AbstractLogPrinterInterceptor(LogPrinterConfig config) { this.config = config; this.summaryMapping = Maps.newMap(); this.ignoreParameter = Maps.newMap(); @@ -109,7 +109,7 @@ public abstract class BaseLogPrinterInterceptor implements LogPrinterInterceptor // 执行方法 Object ret = invocation.proceed(); // 打印响应日志 - this.responsePrinter(startTime, traceId, ret); + this.responsePrinter(startTime, traceId, invocation, ret); return ret; } catch (Throwable t) { // 打印异常日志 @@ -130,11 +130,12 @@ public abstract class BaseLogPrinterInterceptor implements LogPrinterInterceptor /** * 打印响应信息 * - * @param startTime 开始时间 - * @param traceId traceId - * @param ret return + * @param startTime 开始时间 + * @param traceId traceId + * @param invocation invocation + * @param ret return */ - protected abstract void responsePrinter(Date startTime, String traceId, Object ret); + protected abstract void responsePrinter(Date startTime, String traceId, MethodInvocation invocation, Object ret); /** * 打印异常信息 diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/LogPrinterInterceptor.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/LogPrinterInterceptor.java index eaee062e..a39dea4b 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/LogPrinterInterceptor.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/LogPrinterInterceptor.java @@ -15,6 +15,8 @@ public interface LogPrinterInterceptor extends MethodInterceptor { String ERROR_ARG = ""; + String VOID_RES = ""; + /** * 初始化 */ diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java index 54c53ebc..8d4e4c1c 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java @@ -23,7 +23,7 @@ import java.util.Optional; * @since 2023/6/29 10:36 */ @Slf4j -public class PrettyLogPrinterInterceptor extends BaseLogPrinterInterceptor { +public class PrettyLogPrinterInterceptor extends AbstractLogPrinterInterceptor { public PrettyLogPrinterInterceptor(LogPrinterConfig config) { super(config); @@ -75,14 +75,19 @@ public class PrettyLogPrinterInterceptor extends BaseLogPrinterInterceptor { } @Override - protected void responsePrinter(Date startTime, String traceId, Object ret) { + protected void responsePrinter(Date startTime, String traceId, MethodInvocation invocation, Object ret) { Date endTime = new Date(); // 响应日志 StringBuilder responseLog = new StringBuilder("\napi请求-结束\n") .append("\ttraceId: ").append(traceId).append('\n') .append("\tend: ").append(Dates.format(endTime, Dates.YMD_HMSS)).append('\n') - .append("\tused: ").append(endTime.getTime() - startTime.getTime()).append("ms \n") - .append("\tresponse: ").append(this.responseToString(ret)); + .append("\tused: ").append(endTime.getTime() - startTime.getTime()).append("ms \n"); + + if (invocation.getMethod().getReturnType().equals(Void.TYPE)) { + responseLog.append("\tresponse: ").append(VOID_RES); + } else { + responseLog.append("\tresponse: ").append(this.responseToString(ret)); + } log.info(responseLog.toString()); } diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/RowLogPrinterInterceptor.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/RowLogPrinterInterceptor.java index 1e5c08a0..1e7d6868 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/RowLogPrinterInterceptor.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/RowLogPrinterInterceptor.java @@ -27,7 +27,7 @@ import java.util.Optional; * @since 2023/6/29 10:36 */ @Slf4j -public class RowLogPrinterInterceptor extends BaseLogPrinterInterceptor implements LogFieldConst { +public class RowLogPrinterInterceptor extends AbstractLogPrinterInterceptor implements LogFieldConst { public RowLogPrinterInterceptor(LogPrinterConfig config) { super(config); @@ -76,21 +76,23 @@ public class RowLogPrinterInterceptor extends BaseLogPrinterInterceptor implemen fields.put(PARAMETER, this.requestToString(method, invocation.getArguments())); log.info("api请求-开始 {}", JSON.toJSONString(fields)); fields.clear(); - fields = null; } @Override - protected void responsePrinter(Date startTime, String traceId, Object ret) { + protected void responsePrinter(Date startTime, String traceId, MethodInvocation invocation, Object ret) { Date endTime = new Date(); // 响应日志 Map fields = new LinkedHashMap<>(); fields.put(TRACE_ID, traceId); fields.put(END, Dates.format(endTime, Dates.YMD_HMSS)); fields.put(USED, endTime.getTime() - startTime.getTime() + "ms"); - fields.put(RESPONSE, this.responseToString(ret)); + if (invocation.getMethod().getReturnType().equals(Void.TYPE)) { + fields.put(RESPONSE, VOID_RES); + } else { + fields.put(RESPONSE, this.responseToString(ret)); + } log.info("api请求-结束 {}", JSON.toJSONString(fields)); fields.clear(); - fields = null; } @Override @@ -104,7 +106,6 @@ public class RowLogPrinterInterceptor extends BaseLogPrinterInterceptor implemen fields.put(ERROR_DIGEST, Exceptions.getDigest(throwable)); log.error("api请求-异常 {}", JSON.toJSONString(fields)); fields.clear(); - fields = null; } } diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/handler/WrapperResultHandler.java b/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/handler/WrapperResultHandler.java index 9475969f..23e88662 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/handler/WrapperResultHandler.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/handler/WrapperResultHandler.java @@ -34,7 +34,6 @@ public class WrapperResultHandler implements ResponseBodyAdvice { return false; } return !methodParameter.hasMethodAnnotation(IgnoreWrapper.class); - // && methodParameter.getExecutable().getAnnotatedReturnType().getType() != Void.TYPE; } @Override