diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/pom.xml b/orion-ops-framework/orion-ops-spring-boot-starter-log/pom.xml
new file mode 100644
index 00000000..cf9b222c
--- /dev/null
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+ com.orion.ops
+ orion-ops-framework
+ ${revision}
+
+
+ 4.0.0
+ orion-ops-spring-boot-starter-log
+ ${project.artifactId}
+ jar
+
+ 项目日志配置包
+ https://github.com/lijiahangmax/orion-ops-pro
+
+
+
+ com.orion.ops
+ orion-ops-common
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+
+ org.springdoc
+ springdoc-openapi-ui
+ provided
+
+
+
+
+
\ No newline at end of file
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/config/OrionLogPrinterConfiguration.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/config/OrionLogPrinterConfiguration.java
similarity index 87%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/config/OrionLogPrinterConfiguration.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/config/OrionLogPrinterConfiguration.java
index f9ffdf4a..6963d331 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/config/OrionLogPrinterConfiguration.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/config/OrionLogPrinterConfiguration.java
@@ -1,10 +1,10 @@
-package com.orion.ops.framework.web.config;
+package com.orion.ops.framework.log.config;
import com.orion.ops.framework.common.constant.InterceptorOrderConst;
-import com.orion.ops.framework.web.core.config.LogPrinterConfig;
-import com.orion.ops.framework.web.core.interceptor.LogPrinterInterceptor;
-import com.orion.ops.framework.web.core.interceptor.PrettyLogPrinterInterceptor;
-import com.orion.ops.framework.web.core.interceptor.RowLogPrinterInterceptor;
+import com.orion.ops.framework.log.core.config.LogPrinterConfig;
+import com.orion.ops.framework.log.core.interceptor.LogPrinterInterceptor;
+import com.orion.ops.framework.log.core.interceptor.PrettyLogPrinterInterceptor;
+import com.orion.ops.framework.log.core.interceptor.RowLogPrinterInterceptor;
import org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration;
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/config/LogPrinterConfig.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterConfig.java
similarity index 87%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/config/LogPrinterConfig.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterConfig.java
index a4be5fea..6f5d7b80 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/config/LogPrinterConfig.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterConfig.java
@@ -1,6 +1,6 @@
-package com.orion.ops.framework.web.core.config;
+package com.orion.ops.framework.log.core.config;
-import com.orion.ops.framework.web.core.utils.Utils;
+import com.orion.ops.framework.log.core.utils.Utils;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/config/LogPrinterFieldConfig.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterFieldConfig.java
similarity index 85%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/config/LogPrinterFieldConfig.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterFieldConfig.java
index a0dc680d..3e2872dc 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/config/LogPrinterFieldConfig.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/config/LogPrinterFieldConfig.java
@@ -1,6 +1,6 @@
-package com.orion.ops.framework.web.core.config;
+package com.orion.ops.framework.log.core.config;
-import com.orion.ops.framework.web.core.utils.Utils;
+import com.orion.ops.framework.log.core.utils.Utils;
import lombok.Data;
import java.util.List;
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/enums/LogFieldConst.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/enums/LogFieldConst.java
similarity index 92%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/enums/LogFieldConst.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/enums/LogFieldConst.java
index d3cd26c8..4f030498 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/enums/LogFieldConst.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/enums/LogFieldConst.java
@@ -1,4 +1,4 @@
-package com.orion.ops.framework.web.core.enums;
+package com.orion.ops.framework.log.core.enums;
/**
* 日志字段常量
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/enums/LogPrinterMode.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/enums/LogPrinterMode.java
similarity index 85%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/enums/LogPrinterMode.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/enums/LogPrinterMode.java
index 42ebc89e..65168f21 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/enums/LogPrinterMode.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/enums/LogPrinterMode.java
@@ -1,4 +1,4 @@
-package com.orion.ops.framework.web.core.enums;
+package com.orion.ops.framework.log.core.enums;
/**
* 日志打印模型
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/interceptor/BaseLogPrinterInterceptor.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/BaseLogPrinterInterceptor.java
similarity index 98%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/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/BaseLogPrinterInterceptor.java
index 2d671801..e33c767e 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/interceptor/BaseLogPrinterInterceptor.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/BaseLogPrinterInterceptor.java
@@ -1,4 +1,4 @@
-package com.orion.ops.framework.web.core.interceptor;
+package com.orion.ops.framework.log.core.interceptor;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -12,8 +12,8 @@ import com.orion.lang.utils.reflect.Classes;
import com.orion.ops.framework.common.annotation.IgnoreLog;
import com.orion.ops.framework.common.constant.Const;
import com.orion.ops.framework.common.meta.TraceIdHolder;
-import com.orion.ops.framework.web.core.config.LogPrinterConfig;
import com.orion.ops.framework.common.utils.Desensitizes;
+import com.orion.ops.framework.log.core.config.LogPrinterConfig;
import io.swagger.v3.oas.annotations.Operation;
import org.aopalliance.intercept.MethodInvocation;
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/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
similarity index 80%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/interceptor/LogPrinterInterceptor.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/LogPrinterInterceptor.java
index 1b242b37..fd0001aa 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/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
@@ -1,4 +1,4 @@
-package com.orion.ops.framework.web.core.interceptor;
+package com.orion.ops.framework.log.core.interceptor;
import org.aopalliance.intercept.MethodInterceptor;
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/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
similarity index 97%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/interceptor/PrettyLogPrinterInterceptor.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java
index 84f4e1b9..54c53ebc 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/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
@@ -1,9 +1,9 @@
-package com.orion.ops.framework.web.core.interceptor;
+package com.orion.ops.framework.log.core.interceptor;
import com.orion.lang.utils.Exceptions;
import com.orion.lang.utils.Strings;
import com.orion.lang.utils.time.Dates;
-import com.orion.ops.framework.web.core.config.LogPrinterConfig;
+import com.orion.ops.framework.log.core.config.LogPrinterConfig;
import com.orion.web.servlet.web.Servlets;
import lombok.extern.slf4j.Slf4j;
import org.aopalliance.intercept.MethodInvocation;
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/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
similarity index 95%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/interceptor/RowLogPrinterInterceptor.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/interceptor/RowLogPrinterInterceptor.java
index 56ed8581..1e5c08a0 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/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
@@ -1,11 +1,11 @@
-package com.orion.ops.framework.web.core.interceptor;
+package com.orion.ops.framework.log.core.interceptor;
import com.alibaba.fastjson.JSON;
import com.orion.lang.utils.Exceptions;
import com.orion.lang.utils.Strings;
import com.orion.lang.utils.time.Dates;
-import com.orion.ops.framework.web.core.config.LogPrinterConfig;
-import com.orion.ops.framework.web.core.enums.LogFieldConst;
+import com.orion.ops.framework.log.core.config.LogPrinterConfig;
+import com.orion.ops.framework.log.core.enums.LogFieldConst;
import com.orion.web.servlet.web.Servlets;
import lombok.extern.slf4j.Slf4j;
import org.aopalliance.intercept.MethodInvocation;
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/utils/Utils.java b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/utils/Utils.java
similarity index 95%
rename from orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/utils/Utils.java
rename to orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/utils/Utils.java
index 5a782041..4c432cb5 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/core/utils/Utils.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/java/com/orion/ops/framework/log/core/utils/Utils.java
@@ -1,4 +1,4 @@
-package com.orion.ops.framework.web.core.utils;
+package com.orion.ops.framework.log.core.utils;
import java.util.Arrays;
import java.util.List;
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json
new file mode 100644
index 00000000..960a1b18
--- /dev/null
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json
@@ -0,0 +1,37 @@
+{
+ "groups": [
+ {
+ "name": "logging.printer",
+ "type": "com.orion.ops.framework.log.core.config.LogPrinterConfig",
+ "sourceType": "com.orion.ops.framework.log.core.config.LogPrinterConfig"
+ }
+ ],
+ "properties": [
+ {
+ "name": "logging.printer.mode",
+ "type": "com.orion.ops.framework.log.core.enums.LogPrinterMode",
+ "description": "日志打印模型.",
+ "defaultValue": "NONE"
+ },
+ {
+ "name": "logging.printer.expression",
+ "type": "java.lang.String",
+ "description": "aspectj 表达式."
+ },
+ {
+ "name": "logging.printer.headers",
+ "type": "java.util.List",
+ "description": "需要打印的 HttpHandlers."
+ },
+ {
+ "name": "logging.printer.field.ignore",
+ "type": "java.util.List",
+ "description": "忽略打印的字段."
+ },
+ {
+ "name": "logging.printer.field.desensitize",
+ "type": "java.util.List",
+ "description": "需要脱敏的字段."
+ }
+ ]
+}
\ No newline at end of file
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 00000000..6f777d4e
--- /dev/null
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.orion.ops.framework.log.config.OrionLogPrinterConfiguration
\ No newline at end of file
diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/config/OrionWebAutoConfiguration.java b/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/config/OrionWebAutoConfiguration.java
index 420896d2..fe933f7f 100644
--- a/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/config/OrionWebAutoConfiguration.java
+++ b/orion-ops-framework/orion-ops-spring-boot-starter-web/src/main/java/com/orion/ops/framework/web/config/OrionWebAutoConfiguration.java
@@ -61,7 +61,7 @@ public class OrionWebAutoConfiguration implements WebMvcConfigurer {
}
/**
- * @return 通用返回结果处理器
+ * @return 公共返回值包装处理器
*/
@Bean
public WrapperResultHandler wrapperResultHandler() {
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 743a1803..9475969f 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
@@ -5,8 +5,10 @@ import com.orion.lang.define.wrapper.HttpWrapper;
import com.orion.lang.define.wrapper.RpcWrapper;
import com.orion.ops.framework.common.annotation.IgnoreWrapper;
import com.orion.ops.framework.common.annotation.RestWrapper;
+import com.orion.ops.framework.common.constant.ResponseAdviceOrderConst;
import org.jetbrains.annotations.NotNull;
import org.springframework.core.MethodParameter;
+import org.springframework.core.annotation.Order;
import org.springframework.http.MediaType;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
@@ -15,12 +17,13 @@ import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
/**
- * 返回值处理器
+ * 公共返回值包装处理器
*
* @author Jiahang Li
* @version 1.0.0
* @since 2023/6/15 17:38
*/
+@Order(ResponseAdviceOrderConst.WRAPPER)
@ControllerAdvice
public class WrapperResultHandler implements ResponseBodyAdvice