From de66f4361608b5169b17be6f49233b3bb29f3713 Mon Sep 17 00:00:00 2001 From: BlackR <413626226@qq.com> Date: Fri, 20 May 2022 13:46:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?:bug:=20Fixing=20a=20bug.=20log=20insert=20?= =?UTF-8?q?spel=20=E6=89=A7=E8=A1=8C=E6=8A=A5=E9=94=99.=20:sparkles:=20Int?= =?UTF-8?q?roducing=20new=20features.=20support=20spel=20'expression'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pig4cloud/pigx/common/log/annotation/SysLog.java | 6 ++++++ .../pigx/common/log/aspect/SysLogAspect.java | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/annotation/SysLog.java b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/annotation/SysLog.java index 884991e32..5f9375c8b 100644 --- a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/annotation/SysLog.java +++ b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/annotation/SysLog.java @@ -36,4 +36,10 @@ public @interface SysLog { */ String value(); + /** + * spel 表达式 + * @return 日志描述 + */ + String expression() default ""; + } diff --git a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/aspect/SysLogAspect.java b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/aspect/SysLogAspect.java index 78dcec15a..1e1a81374 100644 --- a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/aspect/SysLogAspect.java +++ b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/aspect/SysLogAspect.java @@ -58,11 +58,18 @@ public class SysLogAspect { log.debug("[类名]:{},[方法]:{}", strClassName, strMethodName); String value = sysLog.value(); - if (StrUtil.isNotBlank(value)) { + String expression = sysLog.expression(); + // 当前表达式存在 SPEL,会覆盖 value 的值 + if (StrUtil.isNotBlank(expression)) { // 解析SPEL MethodSignature signature = (MethodSignature) point.getSignature(); EvaluationContext context = SysLogUtils.getContext(point.getArgs(), signature.getMethod()); - value = SysLogUtils.getValue(context, value, String.class); + try { + value = SysLogUtils.getValue(context, expression, String.class); + } catch (Exception e) { + // SPEL 表达式异常,则获取 value 的值 + log.error("@SysLog 解析SPEL {} 异常", expression); + } } SysLogDTO logDTO = SysLogUtils.getSysLog(); From 80455d09c21ff95a2f7f7cc723f523f724185411 Mon Sep 17 00:00:00 2001 From: BlackR <413626226@qq.com> Date: Fri, 20 May 2022 14:40:55 +0800 Subject: [PATCH 2/2] :sparkles: Introducing new features. support spel 'expression' --- .../java/com/pig4cloud/pigx/common/log/annotation/SysLog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/annotation/SysLog.java b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/annotation/SysLog.java index 5f9375c8b..b4e27fa4d 100644 --- a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/annotation/SysLog.java +++ b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/annotation/SysLog.java @@ -34,7 +34,7 @@ public @interface SysLog { * 描述 * @return {String} */ - String value(); + String value() default ""; /** * spel 表达式