diff --git a/ice-common/ice-common-log/pom.xml b/ice-common/ice-common-log/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f0d6dc28dd652a677f52341b0e2eb9592310b952
--- /dev/null
+++ b/ice-common/ice-common-log/pom.xml
@@ -0,0 +1,29 @@
+
+
+ 4.0.0
+
+ com.icedevcloud
+ ice-common
+ 0.0.1-SNAPSHOT
+
+
+ ice-common-log
+ jar
+
+ ice-common-log
+
+
+
+ org.springframework
+ spring-webmvc
+ provided
+
+
+
+ org.springframework
+ spring-aspects
+
+
+
+
diff --git a/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/LogAutoConfiguration.java b/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/LogAutoConfiguration.java
new file mode 100644
index 0000000000000000000000000000000000000000..6531068b87fc3de0c1fc6e95db9de7a23fb5f4ee
--- /dev/null
+++ b/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/LogAutoConfiguration.java
@@ -0,0 +1,29 @@
+package com.icedevcloud.common.log;
+
+import com.icedevcloud.common.log.aspect.SysLogAspect;
+import lombok.AllArgsConstructor;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+/**
+ * LogAutoConfiguration
+ *
+ * @author XiaoBingBy
+ * @since 2022-03-02
+ */
+@EnableAsync
+@Configuration
+@AllArgsConstructor
+@ConditionalOnWebApplication
+public class LogAutoConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean
+ public SysLogAspect sysLogAspect() {
+ return new SysLogAspect();
+ }
+
+}
diff --git a/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/annotation/SysLog.java b/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/annotation/SysLog.java
new file mode 100644
index 0000000000000000000000000000000000000000..8f947ed66333e12c39ab20358d08a5a4b97520ce
--- /dev/null
+++ b/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/annotation/SysLog.java
@@ -0,0 +1,37 @@
+package com.icedevcloud.common.log.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * SysLog
+ *
+ * @author XiaoBingBy
+ * @since 2022-03-02
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface SysLog {
+
+ /**
+ * 描述
+ *
+ * @return {String}
+ */
+ String value();
+
+ /**
+ * 记录执行参数
+ *
+ * @return
+ */
+ boolean recordRequestParam() default true;
+
+ /**
+ * 记录返回参数
+ *
+ * @return
+ */
+ boolean recordResponseParam() default true;
+
+}
diff --git a/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/aspect/SysLogAspect.java b/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/aspect/SysLogAspect.java
new file mode 100644
index 0000000000000000000000000000000000000000..79cdfbe5194bc318227eef93afdfe28036b97c02
--- /dev/null
+++ b/ice-common/ice-common-log/src/main/java/com/icedevcloud/common/log/aspect/SysLogAspect.java
@@ -0,0 +1,42 @@
+package com.icedevcloud.common.log.aspect;
+
+import com.icedevcloud.common.log.annotation.SysLog;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+
+/**
+ * SysLogAspect
+ *
+ * @author XiaoBingBy
+ * @since 2022-03-02
+ */
+@Slf4j
+@Aspect
+public class SysLogAspect {
+
+ @Around("@annotation(sysLog)")
+ @SneakyThrows
+ public Object around(ProceedingJoinPoint point, SysLog sysLog) {
+ String strClassName = point.getTarget().getClass().getName();
+ String strMethodName = point.getSignature().getName();
+ log.debug("[类名]:{},[方法]:{}", strClassName, strMethodName);
+
+ // 发送异步日志事件
+ Long startTime = System.currentTimeMillis();
+ Object obj;
+
+ try {
+ obj = point.proceed();
+ } catch (Exception e) {
+ throw e;
+ } finally {
+ Long endTime = System.currentTimeMillis();
+ }
+
+ return obj;
+ }
+
+}
diff --git a/ice-common/ice-common-log/src/main/resources/META-INF/spring.factories b/ice-common/ice-common-log/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000000000000000000000000000000000000..a01ee7270ddc09f2904e36d2c281be528a38637a
--- /dev/null
+++ b/ice-common/ice-common-log/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,3 @@
+# Auto Configure
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+com.icedevcloud.common.log.LogAutoConfiguration
\ No newline at end of file
diff --git a/ice-common/pom.xml b/ice-common/pom.xml
index b7c1321ef809b3f11812f7f0b58d4b120fe8279e..e147b8938441dfb69844d543bedb3b7a87e5f3d4 100644
--- a/ice-common/pom.xml
+++ b/ice-common/pom.xml
@@ -17,6 +17,7 @@
ice-common-core
ice-common-swagger
+ ice-common-log
diff --git a/ice-upms/ice-upms-service/pom.xml b/ice-upms/ice-upms-service/pom.xml
index 6542a29ca4486e0ab474c17f56b9bed16384c0a1..c4905e7bddc359c95c194f4d6633a76fc7d82743 100644
--- a/ice-upms/ice-upms-service/pom.xml
+++ b/ice-upms/ice-upms-service/pom.xml
@@ -48,6 +48,12 @@
0.0.1-SNAPSHOT
+
+ com.icedevcloud
+ ice-common-log
+ 0.0.1-SNAPSHOT
+
+
org.springframework.boot
spring-boot-starter-test
diff --git a/ice-upms/ice-upms-service/src/main/java/com/icedevcloud/upms/controller/SysUserController.java b/ice-upms/ice-upms-service/src/main/java/com/icedevcloud/upms/controller/SysUserController.java
index 7baac0eaf643ccf152576af162e258c9a1fe6112..14f9ac10f1c4231e639e25a7a9f85a623cc02a13 100644
--- a/ice-upms/ice-upms-service/src/main/java/com/icedevcloud/upms/controller/SysUserController.java
+++ b/ice-upms/ice-upms-service/src/main/java/com/icedevcloud/upms/controller/SysUserController.java
@@ -4,6 +4,7 @@ package com.icedevcloud.upms.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.icedevcloud.common.core.api.R;
import com.icedevcloud.common.core.page.PageParam;
+import com.icedevcloud.common.log.annotation.SysLog;
import com.icedevcloud.common.security.dto.UserDetailsDto;
import com.icedevcloud.common.security.util.SecurityUtils;
import com.icedevcloud.upms.dto.SysUserDetailsDto;
@@ -32,6 +33,7 @@ public class SysUserController extends BaseController