Prechádzať zdrojové kódy

全局唯一traceId链路日志打印追踪(KwpSettlementOfflineController、KwpSettlementWalletController冲突)

sptkw 2 rokov pred
rodič
commit
1ebfdf911d
45 zmenil súbory, kde vykonal 369 pridanie a 1740 odobranie
  1. 0 3
      sckw-common/sckw-common-log/src/main/java/com/sckw/log/aspect/LogInfoAspect.java
  2. 24 0
      sckw-common/sckw-common-log/src/main/java/com/sckw/log/config/WebConfig.java
  3. 33 0
      sckw-common/sckw-common-log/src/main/java/com/sckw/log/interceptor/LogInterceptor.java
  4. 3 1
      sckw-common/sckw-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  5. 34 0
      sckw-common/sckw-common-remote/src/main/java/com/sckw/remote/filter/TraceIdFilter.java
  6. 1 0
      sckw-common/sckw-common-remote/src/main/resources/META-INF/dubbo/org.apache.dubbo.rpc.Filter
  7. 29 0
      sckw-gateway/pom.xml
  8. 59 0
      sckw-gateway/src/main/java/com/sckw/gateway/filter/RequestLogFilter.java
  9. 38 0
      sckw-gateway/src/main/java/com/sckw/gateway/filter/TraceFilter.java
  10. 15 0
      sckw-gateway/src/main/java/com/sckw/gateway/utils/UuidUtils.java
  11. 20 0
      sckw-gateway/src/main/resources/bootstrap-local.yml
  12. 2 2
      sckw-gateway/src/main/resources/log4j2.xml
  13. 5 0
      sckw-modules/sckw-contract/pom.xml
  14. 2 2
      sckw-modules/sckw-contract/src/main/resources/log4j2.xml
  15. 5 0
      sckw-modules/sckw-file/pom.xml
  16. 2 2
      sckw-modules/sckw-file/src/main/resources/log4j2.xml
  17. 0 73
      sckw-modules/sckw-file/src/main/resources/logback-spring.xml
  18. 5 0
      sckw-modules/sckw-fleet/pom.xml
  19. 2 2
      sckw-modules/sckw-fleet/src/main/resources/log4j2.xml
  20. 5 0
      sckw-modules/sckw-manage/pom.xml
  21. 2 2
      sckw-modules/sckw-manage/src/main/resources/log4j2.xml
  22. 9 127
      sckw-modules/sckw-message/src/main/resources/bootstrap-local.yml
  23. 2 2
      sckw-modules/sckw-message/src/main/resources/log4j2.xml
  24. 0 199
      sckw-modules/sckw-message/src/main/resources/logback-spring.xml
  25. 5 0
      sckw-modules/sckw-operation/pom.xml
  26. 2 2
      sckw-modules/sckw-operation/src/main/resources/log4j2.xml
  27. 7 154
      sckw-modules/sckw-order/src/main/resources/bootstrap-local.yml
  28. 2 2
      sckw-modules/sckw-order/src/main/resources/log4j2.xml
  29. 0 199
      sckw-modules/sckw-order/src/main/resources/logback-spring.xml
  30. 5 0
      sckw-modules/sckw-payment/pom.xml
  31. 1 1
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementOfflineController.java
  32. 1 2
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementWalletController.java
  33. 2 2
      sckw-modules/sckw-payment/src/main/resources/log4j2.xml
  34. 3 179
      sckw-modules/sckw-product/src/main/resources/bootstrap-local.yml
  35. 2 2
      sckw-modules/sckw-product/src/main/resources/log4j2.xml
  36. 0 199
      sckw-modules/sckw-product/src/main/resources/logback-spring.xml
  37. 24 0
      sckw-modules/sckw-report/src/main/resources/bootstrap-local.yml
  38. 2 2
      sckw-modules/sckw-report/src/main/resources/log4j2.xml
  39. 0 199
      sckw-modules/sckw-report/src/main/resources/logback-spring.xml
  40. 5 0
      sckw-modules/sckw-system/pom.xml
  41. 2 179
      sckw-modules/sckw-system/src/main/resources/bootstrap-local.yml
  42. 2 2
      sckw-modules/sckw-system/src/main/resources/log4j2.xml
  43. 0 199
      sckw-modules/sckw-system/src/main/resources/logback-spring.xml
  44. 5 0
      sckw-modules/sckw-transport/pom.xml
  45. 2 2
      sckw-modules/sckw-transport/src/main/resources/log4j2.xml

+ 0 - 3
sckw-common/sckw-common-log/src/main/java/com/sckw/log/aspect/LogInfoAspect.java

@@ -42,7 +42,6 @@ public class LogInfoAspect {
 
     @Around(value = "cutController()", argNames = "p")
     public Object cutController(ProceedingJoinPoint p) throws Throwable {
-        log.info("开始记录controller------------------->");
         return getResult(p);
 
     }
@@ -53,7 +52,6 @@ public class LogInfoAspect {
 
     @Around(value = "cutDubbo()", argNames = "p")
     public Object around(ProceedingJoinPoint p) throws Throwable {
-        log.info("开始记录dubbo------------------->");
         return getResult(p);
     }
 
@@ -104,7 +102,6 @@ public class LogInfoAspect {
 
     @AfterThrowing(pointcut = "cutService()", throwing = "e")
     public void doAfterThrowing(JoinPoint point, Throwable e) throws Throwable {
-        log.info("开始记录service------------------->");
         Date startTime = new Date();
         String targetName = point.getTarget().getClass().getName();
         String methodName = point.getSignature().getName();

+ 24 - 0
sckw-common/sckw-common-log/src/main/java/com/sckw/log/config/WebConfig.java

@@ -0,0 +1,24 @@
+package com.sckw.log.config;
+
+import com.sckw.log.interceptor.LogInterceptor;
+import jakarta.annotation.Resource;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @desc: 配置日志拦截器
+ * @author: yzc
+ * @date: 2023-08-23 10:40
+ */
+@Configuration
+public class WebConfig implements WebMvcConfigurer {
+
+    @Resource
+    private LogInterceptor logInterceptor;
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(logInterceptor)
+                .addPathPatterns("/**");
+    }
+}

+ 33 - 0
sckw-common/sckw-common-log/src/main/java/com/sckw/log/interceptor/LogInterceptor.java

@@ -0,0 +1,33 @@
+package com.sckw.log.interceptor;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.MDC;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.util.StringUtils;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import java.util.UUID;
+
+/**
+ * @desc: 日志拦截器
+ * @author: yzc
+ * @date: 2023-08-23 10:38
+ */
+@Slf4j
+@Configuration
+public class LogInterceptor implements HandlerInterceptor {
+    private static final String TRACE_ID = "traceId";
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+        String traceId = request.getHeader(TRACE_ID);
+        if (!StringUtils.hasText(traceId)) {
+            MDC.put(TRACE_ID, UUID.randomUUID().toString());
+        } else {
+            MDC.put(TRACE_ID, traceId);
+        }
+        return true;
+    }
+
+}

+ 3 - 1
sckw-common/sckw-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1 +1,3 @@
-com.sckw.log.aspect.LogInfoAspect
+com.sckw.log.aspect.LogInfoAspect
+com.sckw.log.interceptor.LogInterceptor
+com.sckw.log.config.WebConfig

+ 34 - 0
sckw-common/sckw-common-remote/src/main/java/com/sckw/remote/filter/TraceIdFilter.java

@@ -0,0 +1,34 @@
+package com.sckw.remote.filter;
+
+import org.apache.dubbo.common.constants.CommonConstants;
+import org.apache.dubbo.common.extension.Activate;
+import org.apache.dubbo.rpc.*;
+import org.slf4j.MDC;
+
+import java.util.UUID;
+
+/**
+ * @desc: dubbo调用全局链路id
+ * @author: yzc
+ * @date: 2023-08-23 10:09
+ */
+@Activate(group = {CommonConstants.PROVIDER, CommonConstants.CONSUMER})
+public class TraceIdFilter implements Filter {
+    @Override
+    public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
+        RpcContext rpcContext = RpcContext.getContext();
+        String traceId;
+        if (rpcContext.isConsumerSide()) {
+            traceId = MDC.get("traceId");
+            if (traceId == null) {
+                traceId = UUID.randomUUID().toString();
+            }
+            rpcContext.setAttachment("traceId", traceId);
+        }
+        if (rpcContext.isProviderSide()) {
+            traceId = rpcContext.getAttachment("traceId");
+            MDC.put("traceId", traceId);
+        }
+        return invoker.invoke(invocation);
+    }
+}

+ 1 - 0
sckw-common/sckw-common-remote/src/main/resources/META-INF/dubbo/org.apache.dubbo.rpc.Filter

@@ -1 +1,2 @@
 dubboExceptionFilter=com.sckw.remote.filter.DubboExceptionFilter
+traceIdFilter=com.sckw.remote.filter.TraceIdFilter

+ 29 - 0
sckw-gateway/pom.xml

@@ -22,6 +22,31 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter-logging</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!--log4j2日志-->
+        <!--全局日志排除-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-logging</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!--采用log4j2 日志输出方式-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-log4j2</artifactId>
         </dependency>
 
         <dependency>
@@ -57,6 +82,10 @@
             <groupId>com.alibaba.cloud</groupId>
             <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 59 - 0
sckw-gateway/src/main/java/com/sckw/gateway/filter/RequestLogFilter.java

@@ -0,0 +1,59 @@
+package com.sckw.gateway.filter;
+
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.MDC;
+import org.springframework.cloud.gateway.filter.GatewayFilterChain;
+import org.springframework.cloud.gateway.filter.GlobalFilter;
+import org.springframework.cloud.gateway.route.Route;
+import org.springframework.core.Ordered;
+import org.springframework.http.server.reactive.ServerHttpResponse;
+import org.springframework.stereotype.Component;
+import org.springframework.web.server.ServerWebExchange;
+import reactor.core.publisher.Mono;
+
+import java.net.URI;
+
+import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR;
+import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR;
+
+/**
+ * @desc: 请求响应日志打印
+ * @author: yzc
+ * @date: 2023-08-22 17:28
+ */
+@Slf4j
+@Component
+@AllArgsConstructor
+public class RequestLogFilter implements GlobalFilter, Ordered {
+
+    private static final String START_TIME = "startTime";
+
+    @Override
+    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
+        String requestUrl = exchange.getRequest().getURI().getRawPath();
+        String requestMethod = exchange.getRequest().getMethod().name();
+        log.info("发送{}请求:{}",requestMethod,requestUrl);
+        exchange.getAttributes().put(START_TIME, System.currentTimeMillis());
+        //路由转发路径
+        Route route = exchange.getAttribute(GATEWAY_ROUTE_ATTR);
+        URI routeUri = exchange.getAttribute(GATEWAY_REQUEST_URL_ATTR);
+        log.info("请求转发到: " + route.getId()
+                + ", uri:" + routeUri);
+        return chain.filter(exchange).then(Mono.fromRunnable(() -> {
+            ServerHttpResponse response = exchange.getResponse();
+            Long startTime = exchange.getAttribute(START_TIME);
+            long executeTime = 0L;
+            if (startTime != null) {
+                executeTime = (System.currentTimeMillis() - startTime);
+            }
+            log.info("响应状态:{},响应时间:{}ms",response.getStatusCode().value(),executeTime);
+            MDC.clear();
+        }));
+    }
+
+    @Override
+    public int getOrder() {
+        return Ordered.LOWEST_PRECEDENCE;
+    }
+}

+ 38 - 0
sckw-gateway/src/main/java/com/sckw/gateway/filter/TraceFilter.java

@@ -0,0 +1,38 @@
+package com.sckw.gateway.filter;
+
+import com.sckw.gateway.utils.UuidUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.MDC;
+import org.springframework.cloud.gateway.filter.GatewayFilterChain;
+import org.springframework.cloud.gateway.filter.GlobalFilter;
+import org.springframework.core.Ordered;
+import org.springframework.http.server.reactive.ServerHttpRequest;
+import org.springframework.stereotype.Component;
+import org.springframework.web.server.ServerWebExchange;
+import reactor.core.publisher.Mono;
+
+/**
+ * @desc: 给请求增加TraceId
+ * @author: yzc
+ * @date: 2023-08-22 14:20
+ */
+@Component
+@Slf4j
+public class TraceFilter implements GlobalFilter, Ordered {
+    @Override
+    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
+        //链路追踪id
+        String traceId = UuidUtils.getUuid();
+        MDC.put("traceId", traceId);
+        ServerHttpRequest request = exchange.getRequest().mutate()
+                .headers(h -> h.add("traceId", traceId))
+                .build();
+        ServerWebExchange build = exchange.mutate().request(request).build();
+        return chain.filter(build);
+    }
+
+    @Override
+    public int getOrder() {
+        return Ordered.HIGHEST_PRECEDENCE;
+    }
+}

+ 15 - 0
sckw-gateway/src/main/java/com/sckw/gateway/utils/UuidUtils.java

@@ -0,0 +1,15 @@
+package com.sckw.gateway.utils;
+
+import java.util.UUID;
+
+/**
+ * @desc: 获取uuid
+ * @author: yzc
+ * @date: 2023-08-22 15:21
+ */
+public class UuidUtils {
+
+    public static String getUuid(){
+        return UUID.randomUUID().toString().replace("-", "");
+    }
+}

+ 20 - 0
sckw-gateway/src/main/resources/bootstrap-local.yml

@@ -0,0 +1,20 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        # 服务注册地址
+        server-addr: 10.10.10.230:8848
+        # 命名空间
+        namespace: sckw-yzc
+        # 共享配置
+        group: sckw-service-platform
+      config:
+        # 配置中心地址
+        server-addr: 10.10.10.230:8848
+        # 配置文件格式
+        file-extension: yaml
+        # 命名空间
+        namespace: sckw-yzc
+        # 共享配置
+        group: sckw-service-platform
+

+ 2 - 2
sckw-gateway/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-gateway"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 5 - 0
sckw-modules/sckw-contract/pom.xml

@@ -76,6 +76,11 @@
             <groupId>org.springframework</groupId>
             <artifactId>spring-test</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-log</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
     </dependencies>
     <build>

+ 2 - 2
sckw-modules/sckw-contract/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-contract"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 5 - 0
sckw-modules/sckw-file/pom.xml

@@ -85,6 +85,11 @@
             <artifactId>easyexcel</artifactId>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-log</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
     </dependencies>
 

+ 2 - 2
sckw-modules/sckw-file/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-file"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 0 - 73
sckw-modules/sckw-file/src/main/resources/logback-spring.xml

@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE configuration>
-<configuration>
-    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
-    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
-    <!--应用名称-->
-    <springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
-    <!--日志文件保存路径-->
-    <springProperty scope="context" name="LOG_FILE_PATH" source="logging.file.path"/>
-    <!--    <springProperty scope="context" name="LOGSTASH_SERVER" source="lili.data.logstash.server"/>-->
-    <contextName>${APP_NAME}</contextName>
-
-    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!--        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
-        <!--            <fileNamePattern>${LOG_FILE_PATH}/${APP_NAME}-%d{yyyy-MM-dd}.log</fileNamePattern>-->
-        <!--            <maxHistory>30</maxHistory>-->
-        <!--        </rollingPolicy>-->
-
-        <!-- rollingPolicy:当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名。 -->
-        <!-- TimeBasedRollingPolicy: 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 活动文件的名字会根据fileNamePattern的值,每隔一段时间改变一次 -->
-            <!-- 文件名:${LOG_FILE_PATH}/${APP_NAME}-%d{yyyy-MM-dd}.log -->
-            <fileNamePattern>${LOG_FILE_PATH}/${APP_NAME}-%d{yyyy-MM-dd}.log.gz</fileNamePattern>
-            <!-- 每产生一个日志文件,该日志文件的保存期限为180天 -->
-            <maxHistory>15</maxHistory>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <!-- maxFileSize:这是活动文件的大小,默认值是10MB,测试时可改成1KB看效果 -->
-                <maxFileSize>30MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-        </rollingPolicy>
-
-        <encoder>
-            <pattern>${FILE_LOG_PATTERN}</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="RocketmqClientAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${LOG_FILE_PATH}/rocketmq.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${LOG_FILE_PATH}/rocketmq/rocketmq-%d{yyyy-MM-dd}.log</fileNamePattern>
-            <maxHistory>15</maxHistory>
-            <totalSizeCap>30MB</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0} %X{ServiceId} - %m%n</pattern>
-        </encoder>
-    </appender>
-    <logger name="RocketmqClient" additivity="false">
-        <level value="info" />
-        <appender-ref ref="RocketmqClientAppender"/>
-    </logger>
-
-    <!--输出到elk的LOGSTASH-->
-    <!--<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
-        &lt;!&ndash; 配置elk日志收集 配饰的是 LOGSTASH 的地址&ndash;&gt;
-        <destination>${LOGSTASH_SERVER}</destination>
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
-            <providers>
-                <timestamp>
-                    <timeZone>UTC</timeZone>
-                </timestamp>
-            </providers>
-            &lt;!&ndash;自定义字段 区分项目&ndash;&gt;
-            <customFields>{"appName":"${APP_NAME}"}</customFields>
-        </encoder>
-    </appender>-->
-    <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="FILE"/>
-        <!--        <appender-ref ref="LOGSTASH"/>-->
-    </root>
-</configuration>

+ 5 - 0
sckw-modules/sckw-fleet/pom.xml

@@ -73,6 +73,11 @@
             <groupId>com.sckw</groupId>
             <artifactId>sckw-file-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-log</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
     </dependencies>
 

+ 2 - 2
sckw-modules/sckw-fleet/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-fleet"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 5 - 0
sckw-modules/sckw-manage/pom.xml

@@ -80,6 +80,11 @@
             <groupId>com.sckw</groupId>
             <artifactId>sckw-payment-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-log</artifactId>
+            <version>1.0.0</version>
+        </dependency>
     </dependencies>
     <build>
         <plugins>

+ 2 - 2
sckw-modules/sckw-manage/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-manage"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 9 - 127
sckw-modules/sckw-message/src/main/resources/bootstrap-local.yml

@@ -1,143 +1,25 @@
 spring:
-  rabbitmq:
-    username: admin
-    password: admin
-    host: 10.10.10.138
-    port: 5672
-    virtual-host: /
   cloud:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 127.0.0.1:8848
+        server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw-service-platform-dev
+        namespace: sckw-yzc
         # 共享配置
         group: sckw-service-platform
-        # 权重 1-100 数值越大权重越大分配的流量就越大,通常结合权重负载均衡策略
-      #        weight: 100
       config:
         # 配置中心地址
-        #        server-addr: 47.108.162.14:8848
-        server-addr: 127.0.0.1:8848
+        server-addr: 10.10.10.230:8848
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw-service-platform-dev
+        namespace: sckw-yzc
         # 共享配置
         group: sckw-service-platform
-        enabled: true
-    stream:
-      bindings:
-        sckwSms-out-0:
-          destination: sckw-sms
-          content-type: application/json
-          default-binder: defaultRabbit
-          group: sckw
-        sckwMessage-out-0:
-          destination: sckw-message
-          content-type: application/json
-          default-binder: defaultRabbit
-          group: sckw
-      binders:
-        defaultRabbit:
-          type: rabbit
-          environment:
-            spring:
-              rabbitmq:
-                virtual-host: /
-                host: 39.104.134.114
-                port: 5672
-                username: wph
-                password: Yy123...
-    # sentinel降级配置
-    sentinel:
-      transport:
-        client-ip: ${spring.cloud.client.ip-address} # 获取本机IP地址
-        port: 8719  #默认8719端口,如果被占用会向上扫描。
-        #控制台地址
-        dashboard: 127.0.0.1:19527
-      log:
-        #日志路径
-        dir: logs/sentinel
-        # 默认将调用链路收敛,导致链路流控效果无效
-        web-context-unify: false
-        #持久化nacos配置中
-      datasource:
-        #        sentinel-rule: # 唯一名称可自定义
-        #限流
-        flow:
-          nacos:
-            # 设置Nacos的连接地址、命名空间和Group ID
-            namespace:  sckw-service-platform-dev
-            server-addr:  ${spring.cloud.nacos.discovery.server-addr}
-            # username: ${spring.cloud.nacos.discovery.username}
-            # password: ${spring.cloud.nacos.discovery.password}
-            # 设置Nacos中配置文件的命名规则
-            #            data-id:  ${spring.application.name}-sentinel-flow-rules
-            data-id:  sckw-message-sentinel-flow-rules
-            group-id: SENTINEL_GROUP
-            data-type: json
-            # 必填的重要字段,指定当前规则类型是"限流"
-            rule-type: flow
-        #熔断
-        degrade:
-          nacos:
-            namespace:  sckw-service-platform-dev
-            server-addr: ${spring.cloud.nacos.discovery.server-addr}
-            #data-id: ${spring.application.name}-sentinel-degrade-rules
-            data-id: sckw-message-sentinel-degrade-rules
-            group-id: SENTINEL_GROUP
-            #熔断
-            rule-type: degrade
-      #取消慢加载
-      eager: true
-  datasource:
-    dynamic:
-      seata: true
-#seata:
-  # seata 服务分组,要与服务端nacos-config.txt中service.vgroup_mapping的后缀对应
-  # 事务分组名称,要和服务端对应
-  tx-service-group: message-seata-service-group
-  service:
-    vgroup-mapping:
-      # key是事务分组名称 value要和服务端的机房名称保持一致
-      message-seata-service-group: default
-  registry:
-    # 指定nacos作为注册中心
-    type: nacos
-    nacos:
-      server-addr: ${spring.cloud.nacos.discovery.server-addr}
-      namespace: ${spring.cloud.nacos.discovery.namespace}
-#      group: SEATA_GROUP
-      group: ${spring.cloud.nacos.discovery.group}
-  config:
-    # 指定nacos作为配置中心
-    type: nacos
-    nacos:
-      server-addr: ${spring.cloud.nacos.discovery.server-addr}
-      #server-addr: 47.108.162.14:8848
-      namespace: ${spring.cloud.nacos.discovery.namespace}
-      group: ${spring.cloud.nacos.discovery.group}
-  application-id: ${spring.application.name}
-# 支持feign对sentinel支持
-#feign:
-#  sentinel:
-#    enabled: true
-
-dubbo:
-  application:
-    # 此处没有延用spring.application.name是因为当前项目本身也会注册到nacos中,如果dubbo也延用相同的名称,在nacos服务里会看到注册的producer-server服务数为2
-    name: message-dubbo-server
-  protocol:
-    name: dubbo
-    port: -1
-    prefer-serialization: java
-  registry:
-    # 配置dubbo的注册中心为nacos
-    address: nacos://${spring.cloud.nacos.discovery.server-addr}
-    group: ${spring.cloud.nacos.config.group}
-    protocol: nacos
-    #use-as-config-center: false
-    #use-as-metadata-center: false
+        #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
+        extension-configs:
+          - dataId: sckw-common.yml
+            group: sckw-service-platform
+            refresh: true
 

+ 2 - 2
sckw-modules/sckw-message/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-message"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 0 - 199
sckw-modules/sckw-message/src/main/resources/logback-spring.xml

@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
-<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
-<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
-                 当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
-<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
-<configuration  scan="true" scanPeriod="10 seconds">
-    <contextName>logback</contextName>
-    <springProperty scope="context" name="applicationName" source="spring.application.name" defaultValue="service"/>
-
-    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
-    <property name="log.path" value="/logs/${applicationName}" />
-
-    <!--0. 日志格式和颜色渲染 -->
-    <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-    <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
-
-    <!--1. 输出到控制台-->
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>debug</level>
-        </filter>
-        <encoder>
-            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
-            <!-- 设置字符集 -->
-            <charset>UTF-8</charset>
-        </encoder>
-    </appender>
-
-    <!--2. 输出到文档-->
-    <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
-    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_debug.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志归档 -->
-            <fileNamePattern>${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录debug级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>debug</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.2 level为 INFO 日志,时间滚动输出  -->
-    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_info.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 每天日志归档路径以及格式 -->
-            <fileNamePattern>${log.path}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录info级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>info</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.3 level为 WARN 日志,时间滚动输出  -->
-    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_warn.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录warn级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>warn</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.4 level为 ERROR 日志,时间滚动输出  -->
-    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_error.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录ERROR级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!--
-        <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
-        以及指定<appender>。<logger>仅有一个name属性,
-        一个可选的level和一个可选的addtivity属性。
-        name:用来指定受此logger约束的某一个包或者具体的某一个类。
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-              还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
-              如果未设置此属性,那么当前logger将会继承上级的级别。
-        addtivity:是否向上级logger传递打印信息。默认是true。
-        <logger name="org.springframework.web" level="info"/>
-        <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
-    -->
-    <!-- hibernate logger -->
-    <logger name="com.atguigu" level="debug" />
-    <!-- Spring framework logger -->
-    <logger name="org.springframework" level="debug" additivity="false"></logger>
-
-
-    <!--
-        使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
-        第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息
-        第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
-        【logging.level.org.mybatis=debug logging.level.dao=debug】
-     -->
-
-    <!--
-        root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-        不能设置为INHERITED或者同义词NULL。默认是DEBUG
-        可以包含零个或多个元素,标识这个appender将会添加到这个logger。
-    -->
-
-    <!-- 4. 最终的策略 -->
-    <!-- 4.1 开发环境:打印控制台-->
-    <springProfile name="dev">
-        <logger name="com.sdcm.pmp" level="debug"/>
-    </springProfile>
-
-    <root level="info">
-        <appender-ref ref="CONSOLE" />
-        <appender-ref ref="DEBUG_FILE" />
-        <appender-ref ref="INFO_FILE" />
-        <appender-ref ref="WARN_FILE" />
-        <appender-ref ref="ERROR_FILE" />
-    </root>
-
-    <!-- 4.2 生产环境:输出到文档 -->
-    <springProfile name="pro">
-        <root level="info">
-            <appender-ref ref="CONSOLE" />
-            <appender-ref ref="DEBUG_FILE" />
-            <appender-ref ref="INFO_FILE" />
-            <appender-ref ref="ERROR_FILE" />
-            <appender-ref ref="WARN_FILE" />
-        </root>
-    </springProfile>
-
-</configuration>

+ 5 - 0
sckw-modules/sckw-operation/pom.xml

@@ -38,6 +38,11 @@
             <groupId>com.sckw</groupId>
             <artifactId>sckw-common-redis</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-log</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
     </dependencies>
 

+ 2 - 2
sckw-modules/sckw-operation/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-operation"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 7 - 154
sckw-modules/sckw-order/src/main/resources/bootstrap-local.yml

@@ -1,171 +1,24 @@
 spring:
-  rabbitmq:
-    username: admin
-    password: admin
-    host: 10.10.10.138
-    port: 5672
-    virtual-host: /
   cloud:
     nacos:
       discovery:
         # 服务注册地址
-        #        server-addr: 47.108.162.14:8848
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw_lfdc
-        # nacos用户名
-        username: nacos
-        # nacos密码
-        password: nacos
+        namespace: sckw-yzc
         # 共享配置
         group: sckw-service-platform
-        # 权重 1-100 数值越大权重越大分配的流量就越大,通常结合权重负载均衡策略
-      #        weight: 100
       config:
         # 配置中心地址
-        #        server-addr: 47.108.162.14:8848
         server-addr: 10.10.10.230:8848
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw_lfdc
+        namespace: sckw-yzc
         # 共享配置
         group: sckw-service-platform
-        enabled: true
-    stream:
-      bindings:
-        sckwSms-out-0:
-          destination: sckw-sms
-          content-type: application/json
-          default-binder: defaultRabbit
-          group: sckw
-        sckwMessage-out-0:
-          destination: sckw-message
-          content-type: application/json
-          default-binder: defaultRabbit
-          group: sckw
-      binders:
-        defaultRabbit:
-          type: rabbit
-          environment:
-            spring:
-              rabbitmq:
-                virtual-host: /
-                host: 39.104.134.114
-                port: 5672
-                username: wph
-                password: Yy123...
-    # sentinel降级配置
-    sentinel:
-      transport:
-        client-ip: ${spring.cloud.client.ip-address} # 获取本机IP地址
-        port: 8719  #默认8719端口,如果被占用会向上扫描。
-        #控制台地址
-        #dashboard: 47.108.162.14:19527
-        dashboard: 127.0.0.1:19527
-      log:
-        #日志路径
-        dir: logs/sentinel
-        # 默认将调用链路收敛,导致链路流控效果无效
-        web-context-unify: false
-        #持久化nacos配置中
-      datasource:
-        #sentinel-rule: # 唯一名称可自定义
-        #限流
-        flow:
-          nacos:
-            # 设置Nacos的连接地址、命名空间和Group ID
-            namespace:  sckw-service-platform-dev
-            server-addr:  ${spring.cloud.nacos.discovery.server-addr}
-            # username: ${spring.cloud.nacos.discovery.username}
-            # password: ${spring.cloud.nacos.discovery.password}
-            # 设置Nacos中配置文件的命名规则
-            #            data-id:  ${spring.application.name}-sentinel-flow-rules
-            data-id:  sckw-file-sentinel-flow-rules
-            group-id: SENTINEL_GROUP
-            data-type: json
-            # 必填的重要字段,指定当前规则类型是"限流"
-            rule-type: flow
-        #熔断
-        degrade:
-          nacos:
-            namespace:  sckw-service-platform-dev
-            server-addr: ${spring.cloud.nacos.discovery.server-addr}
-            #data-id: ${spring.application.name}-sentinel-degrade-rules
-            data-id: sckw-file-sentinel-degrade-rules
-            group-id: SENTINEL_GROUP
-            #熔断
-            rule-type: degrade
-      #取消慢加载
-      eager: true
-  datasource:
-    dynamic:
-      seata: true
-#sfs:
-#  nacos:
-#    server-addr: 127.0.0.1:8848
-#    namespace: 967df0d8-156b-441a-a5ab-615b4a865168
-#    group: MY_GROUP
-#
-#    nacos:
-#      server-addr: ${sfs.nacos.server-addr}
-#      namespace: ${sfs.nacos.namespace}
-#      group: ${sfs.nacos.group}
-
-seata:
-  # seata 服务分组,要与服务端nacos-config.txt中service.vgroup_mapping的后缀对应
-  # 事务分组名称,要和服务端对应
-  tx-service-group: file-seata-service-group
-  service:
-    vgroup-mapping:
-      # key是事务分组名称 value要和服务端的机房名称保持一致
-      file-seata-service-group: default
-  registry:
-    # 指定nacos作为注册中心
-    type: nacos
-    nacos:
-      server-addr: ${spring.cloud.nacos.discovery.server-addr}
-      #server-addr: 47.108.162.14:8848
-      namespace: ${spring.cloud.nacos.discovery.namespace}
-      #      group: SEATA_GROUP
-      group: ${spring.cloud.nacos.discovery.group}
-  config:
-    # 指定nacos作为配置中心
-    type: nacos
-    nacos:
-      server-addr: ${spring.cloud.nacos.discovery.server-addr}
-      #server-addr: 47.108.162.14:8848
-      namespace: ${spring.cloud.nacos.discovery.namespace}
-      group: ${spring.cloud.nacos.discovery.group}
-  application-id: ${spring.application.name}
-  #  当前不生效,使用驼峰
-  enabled: true
-  #  enable-auto-data-source-proxy: false
-  enableAutoDataSourceProxy: false
-#  application-id: sckw-seata-file
-# 支持feign对sentinel支持
-#feign:
-#  sentinel:
-#    enabled: true
-
-dubbo:
-  application:
-    # 此处没有延用spring.application.name是因为当前项目本身也会注册到nacos中,如果dubbo也延用相同的名称,在nacos服务里会看到注册的producer-server服务数为2
-    name: order-dubbo-server
-  protocol:
-    name: dubbo
-    port: -1
-    prefer-serialization: java
-  registry:
-    # 配置dubbo的注册中心为nacos
-    address: nacos://${spring.cloud.nacos.discovery.server-addr}
-    group: ${spring.cloud.nacos.config.group}
-    protocol: nacos
-    #use-as-config-center: false
-    #use-as-metadata-center: false
-aliyun:
-  oss:
-    endpoint: oss-cn-chengdu.aliyuncs.com
-    accessKeyId: LTAI5tPEbubCGq5Rdwygbz4Q
-    secret: 7mQLWMaBJeZPRV1SRGogctYGXwppjQ
-    bucket: kaiwu-saas
+        #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
+        extension-configs:
+          - dataId: sckw-common.yml
+            group: sckw-service-platform
+            refresh: true

+ 2 - 2
sckw-modules/sckw-order/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-order"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 0 - 199
sckw-modules/sckw-order/src/main/resources/logback-spring.xml

@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
-<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
-<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
-                 当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
-<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
-<configuration  scan="true" scanPeriod="10 seconds">
-    <contextName>logback</contextName>
-    <springProperty scope="context" name="applicationName" source="spring.application.name" defaultValue="service"/>
-
-    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
-    <property name="log.path" value="/logs/${applicationName}" />
-
-    <!--0. 日志格式和颜色渲染 -->
-    <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-    <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
-
-    <!--1. 输出到控制台-->
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>debug</level>
-        </filter>
-        <encoder>
-            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
-            <!-- 设置字符集 -->
-            <charset>UTF-8</charset>
-        </encoder>
-    </appender>
-
-    <!--2. 输出到文档-->
-    <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
-    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_debug.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志归档 -->
-            <fileNamePattern>${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录debug级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>debug</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.2 level为 INFO 日志,时间滚动输出  -->
-    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_info.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 每天日志归档路径以及格式 -->
-            <fileNamePattern>${log.path}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录info级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>info</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.3 level为 WARN 日志,时间滚动输出  -->
-    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_warn.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录warn级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>warn</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.4 level为 ERROR 日志,时间滚动输出  -->
-    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_error.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录ERROR级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!--
-        <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
-        以及指定<appender>。<logger>仅有一个name属性,
-        一个可选的level和一个可选的addtivity属性。
-        name:用来指定受此logger约束的某一个包或者具体的某一个类。
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-              还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
-              如果未设置此属性,那么当前logger将会继承上级的级别。
-        addtivity:是否向上级logger传递打印信息。默认是true。
-        <logger name="org.springframework.web" level="info"/>
-        <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
-    -->
-    <!-- hibernate logger -->
-    <logger name="com.atguigu" level="debug" />
-    <!-- Spring framework logger -->
-    <logger name="org.springframework" level="debug" additivity="false"></logger>
-
-
-    <!--
-        使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
-        第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息
-        第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
-        【logging.level.org.mybatis=debug logging.level.dao=debug】
-     -->
-
-    <!--
-        root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-        不能设置为INHERITED或者同义词NULL。默认是DEBUG
-        可以包含零个或多个元素,标识这个appender将会添加到这个logger。
-    -->
-
-    <!-- 4. 最终的策略 -->
-    <!-- 4.1 开发环境:打印控制台-->
-    <springProfile name="dev">
-        <logger name="com.sdcm.pmp" level="debug"/>
-    </springProfile>
-
-    <root level="info">
-        <appender-ref ref="CONSOLE" />
-        <appender-ref ref="DEBUG_FILE" />
-        <appender-ref ref="INFO_FILE" />
-        <appender-ref ref="WARN_FILE" />
-        <appender-ref ref="ERROR_FILE" />
-    </root>
-
-    <!-- 4.2 生产环境:输出到文档 -->
-    <springProfile name="pro">
-        <root level="info">
-            <appender-ref ref="CONSOLE" />
-            <appender-ref ref="DEBUG_FILE" />
-            <appender-ref ref="INFO_FILE" />
-            <appender-ref ref="ERROR_FILE" />
-            <appender-ref ref="WARN_FILE" />
-        </root>
-    </springProfile>
-
-</configuration>

+ 5 - 0
sckw-modules/sckw-payment/pom.xml

@@ -70,6 +70,11 @@
             <groupId>com.sckw</groupId>
             <artifactId>sckw-payment-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-log</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
     </dependencies>
     <build>

+ 1 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementOfflineController.java

@@ -27,7 +27,7 @@ public class KwpSettlementOfflineController {
     //  =========  运费收款  =========
 
     @PostMapping(name = "物流-线下付款(运费收款)记录-列表", path = "pageListLogisticsCollection")
-    public HttpResult pageListLogisticsCollection(SettlementOfflineReq settlementOfflineReq) {
+    public HttpResult pageListLogisticsCollection(@RequestBody @Valid SettlementOfflineReq settlementOfflineReq) {
         settlementOfflineReq.setOrderType(SettlementOrderTypeEnum.LOGISTICS.getStatus());
         return HttpResult.ok(kwpSettlementOfflineService.pageListLogisticsCollection(settlementOfflineReq));
     }

+ 1 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/KwpSettlementWalletController.java

@@ -30,7 +30,7 @@ public class KwpSettlementWalletController {
     private KwpSettlementWalletService kwpSettlementWalletService;
 
     @PostMapping(name = "物流-电子钱包付款(货到付款)结算记录-列表", path = "pageListLogisticsPayment")
-    public HttpResult pageListLogisticsPayment(SettlementWalletReq settlementWalletReq) {
+    public HttpResult pageListLogisticsPayment(@RequestBody @Valid SettlementWalletReq settlementWalletReq) {
         settlementWalletReq.setPayType(SettlementWalletPayTypeEnum.CASH_ON_DELIVERY.getStatus());
         settlementWalletReq.setOrderType(SettlementOrderTypeEnum.LOGISTICS.getStatus());
         return HttpResult.ok(kwpSettlementWalletService.pageListLogisticsPayment(settlementWalletReq));
@@ -53,7 +53,6 @@ public class KwpSettlementWalletController {
 
 
     /**
-     *
      * 运费-货到付款-查询钱包余额
      *
      * @param id 结算单id

+ 2 - 2
sckw-modules/sckw-payment/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-payment"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 3 - 179
sckw-modules/sckw-product/src/main/resources/bootstrap-local.yml

@@ -5,7 +5,7 @@ spring:
         # 服务注册地址
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw_lfdc
+        namespace: sckw-yzc
         # 共享配置
         group: sckw-service-platform
       config:
@@ -14,7 +14,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw_lfdc
+        namespace: sckw-yzc
         # 共享配置
         group: sckw-service-platform
         #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
@@ -22,180 +22,4 @@ spring:
           - dataId: sckw-common.yml
             group: sckw-service-platform
             refresh: true
-#spring:
-#  rabbitmq:
-#    username: admin
-#    password: admin
-#    host: 10.10.10.138
-#    port: 5672
-#    virtual-host: /
-#  cloud:
-#    nacos:
-#      discovery:
-#        # 服务注册地址
-##        server-addr: 47.108.162.14:8848
-#        server-addr: 127.0.0.1:8848
-#        # 命名空间
-#        namespace: sckw-service-platform-dev
-#        # nacos用户名
-#        username: nacos
-#        # nacos密码
-#        password: nacos
-#        # 共享配置
-#        group: sckw-service-platform
-#        # 权重 1-100 数值越大权重越大分配的流量就越大,通常结合权重负载均衡策略
-#      #        weight: 100
-#      config:
-#        # 配置中心地址
-##        server-addr: 47.108.162.14:8848
-#        server-addr: 127.0.0.1:8848
-#        # 配置文件格式
-#        file-extension: yaml
-#        # 命名空间
-#        namespace: sckw-service-platform-dev
-#        # 共享配置
-#        group: sckw-service-platform
-#        enabled: true
-#    stream:
-#      bindings:
-#        sckwSms-out-0:
-#          destination: sckw-sms
-#          content-type: application/json
-#          default-binder: defaultRabbit
-#          group: sckw
-#        sckwMessage-out-0:
-#          destination: sckw-message
-#          content-type: application/json
-#          default-binder: defaultRabbit
-#          group: sckw
-#      binders:
-#        defaultRabbit:
-#          type: rabbit
-#          environment:
-#            spring:
-#              rabbitmq:
-#                virtual-host: /
-#                host: 39.104.134.114
-#                port: 5672
-#                username: wph
-#                password: Yy123...
-#    # sentinel降级配置
-#    sentinel:
-#      transport:
-#        client-ip: ${spring.cloud.client.ip-address} # 获取本机IP地址
-#        port: 8719  #默认8719端口,如果被占用会向上扫描。
-#        #控制台地址
-#        #dashboard: 47.108.162.14:19527
-#        dashboard: 127.0.0.1:19527
-#      log:
-#        #日志路径
-#        dir: logs/sentinel
-#        # 默认将调用链路收敛,导致链路流控效果无效
-#        web-context-unify: false
-#        #持久化nacos配置中
-#      datasource:
-#        #sentinel-rule: # 唯一名称可自定义
-#        #限流
-#        flow:
-#          nacos:
-#            # 设置Nacos的连接地址、命名空间和Group ID
-#            namespace:  sckw-service-platform-dev
-#            server-addr:  ${spring.cloud.nacos.discovery.server-addr}
-#            # username: ${spring.cloud.nacos.discovery.username}
-#            # password: ${spring.cloud.nacos.discovery.password}
-#            # 设置Nacos中配置文件的命名规则
-#            #            data-id:  ${spring.application.name}-sentinel-flow-rules
-#            data-id:  sckw-file-sentinel-flow-rules
-#            group-id: SENTINEL_GROUP
-#            data-type: json
-#            # 必填的重要字段,指定当前规则类型是"限流"
-#            rule-type: flow
-#        #熔断
-#        degrade:
-#          nacos:
-#            namespace:  sckw-service-platform-dev
-#            server-addr: ${spring.cloud.nacos.discovery.server-addr}
-#            #data-id: ${spring.application.name}-sentinel-degrade-rules
-#            data-id: sckw-file-sentinel-degrade-rules
-#            group-id: SENTINEL_GROUP
-#            #熔断
-#            rule-type: degrade
-#      #取消慢加载
-#      eager: true
-#  datasource:
-#    dynamic:
-#      seata: true
-##sfs:
-##  nacos:
-##    server-addr: 127.0.0.1:8848
-##    namespace: 967df0d8-156b-441a-a5ab-615b4a865168
-##    group: MY_GROUP
-##
-##    nacos:
-##      server-addr: ${sfs.nacos.server-addr}
-##      namespace: ${sfs.nacos.namespace}
-##      group: ${sfs.nacos.group}
-#
-##seata:
-##  # seata 服务分组,要与服务端nacos-config.txt中service.vgroup_mapping的后缀对应
-##  # 事务分组名称,要和服务端对应
-##  tx-service-group: sckw-transport-seata-service-group
-##  service:
-##    vgroup-mapping:
-##      # key是事务分组名称 value要和服务端的机房名称保持一致
-##      sckw-transport-seata-service-group: default
-##  registry:
-##    # 指定nacos作为注册中心
-##    type: nacos
-##    nacos:
-##      server-addr: ${spring.cloud.nacos.discovery.server-addr}
-##      #server-addr: 47.108.162.14:8848
-##      namespace: ${spring.cloud.nacos.discovery.namespace}
-##      #      group: SEATA_GROUP
-##      group: ${spring.cloud.nacos.discovery.group}
-##  config:
-##    # 指定nacos作为配置中心
-##    type: nacos
-##    nacos:
-##      server-addr: ${spring.cloud.nacos.discovery.server-addr}
-##      #server-addr: 47.108.162.14:8848
-##      namespace: ${spring.cloud.nacos.discovery.namespace}
-##      group: ${spring.cloud.nacos.discovery.group}
-##  application-id: ${spring.application.name}
-##  #  当前不生效,使用驼峰
-##  enabled: true
-##  #  enable-auto-data-source-proxy: false
-##  enableAutoDataSourceProxy: false
-##  application-id: sckw-seata-file
-## 支持feign对sentinel支持
-##feign:
-##  sentinel:
-##    enabled: true
-#
-#dubbo:
-#  application:
-#    # 此处没有延用spring.application.name是因为当前项目本身也会注册到nacos中,如果dubbo也延用相同的名称,在nacos服务里会看到注册的producer-server服务数为2
-#    name: transport-dubbo-server
-#  protocol:
-#    name: dubbo
-#    port: -1
-#    prefer-serialization: java
-#  registry:
-#    # 配置dubbo的注册中心为nacos
-#    address: nacos://${spring.cloud.nacos.discovery.server-addr}
-#    group: ${spring.cloud.nacos.config.group}
-#    protocol: nacos
-#    #use-as-config-center: false
-#    #use-as-metadata-center: false
-#aliyun:
-#  oss:
-#    endpoint: oss-cn-chengdu.aliyuncs.com
-#    accessKeyId: LTAI5tPEbubCGq5Rdwygbz4Q
-#    secret: 7mQLWMaBJeZPRV1SRGogctYGXwppjQ
-#    bucket: kaiwu-saas
-#links:
-#isBindManyRole:
-#mybatis-plus:
-#  configuration:
-#    # 是否将sql打印到控制面板(该配置会将sql语句和查询的结果都打印到控制台)
-#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+

+ 2 - 2
sckw-modules/sckw-product/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-product"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 0 - 199
sckw-modules/sckw-product/src/main/resources/logback-spring.xml

@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
-<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
-<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
-                 当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
-<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
-<configuration  scan="true" scanPeriod="10 seconds">
-    <contextName>logback</contextName>
-    <springProperty scope="context" name="applicationName" source="spring.application.name" defaultValue="service"/>
-
-    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
-    <property name="log.path" value="/logs/${applicationName}" />
-
-    <!--0. 日志格式和颜色渲染 -->
-    <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-    <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
-
-    <!--1. 输出到控制台-->
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>debug</level>
-        </filter>
-        <encoder>
-            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
-            <!-- 设置字符集 -->
-            <charset>UTF-8</charset>
-        </encoder>
-    </appender>
-
-    <!--2. 输出到文档-->
-    <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
-    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_debug.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志归档 -->
-            <fileNamePattern>${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录debug级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>debug</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.2 level为 INFO 日志,时间滚动输出  -->
-    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_info.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 每天日志归档路径以及格式 -->
-            <fileNamePattern>${log.path}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录info级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>info</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.3 level为 WARN 日志,时间滚动输出  -->
-    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_warn.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录warn级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>warn</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.4 level为 ERROR 日志,时间滚动输出  -->
-    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_error.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录ERROR级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!--
-        <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
-        以及指定<appender>。<logger>仅有一个name属性,
-        一个可选的level和一个可选的addtivity属性。
-        name:用来指定受此logger约束的某一个包或者具体的某一个类。
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-              还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
-              如果未设置此属性,那么当前logger将会继承上级的级别。
-        addtivity:是否向上级logger传递打印信息。默认是true。
-        <logger name="org.springframework.web" level="info"/>
-        <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
-    -->
-    <!-- hibernate logger -->
-    <logger name="com.atguigu" level="debug" />
-    <!-- Spring framework logger -->
-    <logger name="org.springframework" level="debug" additivity="false"></logger>
-
-
-    <!--
-        使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
-        第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息
-        第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
-        【logging.level.org.mybatis=debug logging.level.dao=debug】
-     -->
-
-    <!--
-        root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-        不能设置为INHERITED或者同义词NULL。默认是DEBUG
-        可以包含零个或多个元素,标识这个appender将会添加到这个logger。
-    -->
-
-    <!-- 4. 最终的策略 -->
-    <!-- 4.1 开发环境:打印控制台-->
-    <springProfile name="dev">
-        <logger name="com.sdcm.pmp" level="debug"/>
-    </springProfile>
-
-    <root level="info">
-        <appender-ref ref="CONSOLE" />
-        <appender-ref ref="DEBUG_FILE" />
-        <appender-ref ref="INFO_FILE" />
-        <appender-ref ref="WARN_FILE" />
-        <appender-ref ref="ERROR_FILE" />
-    </root>
-
-    <!-- 4.2 生产环境:输出到文档 -->
-    <springProfile name="pro">
-        <root level="info">
-            <appender-ref ref="CONSOLE" />
-            <appender-ref ref="DEBUG_FILE" />
-            <appender-ref ref="INFO_FILE" />
-            <appender-ref ref="ERROR_FILE" />
-            <appender-ref ref="WARN_FILE" />
-        </root>
-    </springProfile>
-
-</configuration>

+ 24 - 0
sckw-modules/sckw-report/src/main/resources/bootstrap-local.yml

@@ -0,0 +1,24 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        # 服务注册地址
+        server-addr: 10.10.10.230:8848
+        # 命名空间
+        namespace: sckw-yzc
+        # 共享配置
+        group: sckw-service-platform
+      config:
+        # 配置中心地址
+        server-addr: 10.10.10.230:8848
+        # 配置文件格式
+        file-extension: yaml
+        # 命名空间
+        namespace: sckw-yzc
+        # 共享配置
+        group: sckw-service-platform
+        #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
+        extension-configs:
+          - dataId: sckw-common.yml
+            group: sckw-service-platform
+            refresh: true

+ 2 - 2
sckw-modules/sckw-report/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-report"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 0 - 199
sckw-modules/sckw-report/src/main/resources/logback-spring.xml

@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
-<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
-<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
-                 当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
-<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
-<configuration  scan="true" scanPeriod="10 seconds">
-    <contextName>logback</contextName>
-    <springProperty scope="context" name="applicationName" source="spring.application.name" defaultValue="service"/>
-
-    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
-    <property name="log.path" value="/logs/${applicationName}" />
-
-    <!--0. 日志格式和颜色渲染 -->
-    <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-    <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
-
-    <!--1. 输出到控制台-->
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>debug</level>
-        </filter>
-        <encoder>
-            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
-            <!-- 设置字符集 -->
-            <charset>UTF-8</charset>
-        </encoder>
-    </appender>
-
-    <!--2. 输出到文档-->
-    <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
-    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_debug.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志归档 -->
-            <fileNamePattern>${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录debug级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>debug</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.2 level为 INFO 日志,时间滚动输出  -->
-    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_info.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 每天日志归档路径以及格式 -->
-            <fileNamePattern>${log.path}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录info级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>info</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.3 level为 WARN 日志,时间滚动输出  -->
-    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_warn.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录warn级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>warn</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.4 level为 ERROR 日志,时间滚动输出  -->
-    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_error.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录ERROR级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!--
-        <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
-        以及指定<appender>。<logger>仅有一个name属性,
-        一个可选的level和一个可选的addtivity属性。
-        name:用来指定受此logger约束的某一个包或者具体的某一个类。
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-              还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
-              如果未设置此属性,那么当前logger将会继承上级的级别。
-        addtivity:是否向上级logger传递打印信息。默认是true。
-        <logger name="org.springframework.web" level="info"/>
-        <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
-    -->
-    <!-- hibernate logger -->
-    <logger name="com.atguigu" level="debug" />
-    <!-- Spring framework logger -->
-    <logger name="org.springframework" level="debug" additivity="false"></logger>
-
-
-    <!--
-        使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
-        第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息
-        第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
-        【logging.level.org.mybatis=debug logging.level.dao=debug】
-     -->
-
-    <!--
-        root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-        不能设置为INHERITED或者同义词NULL。默认是DEBUG
-        可以包含零个或多个元素,标识这个appender将会添加到这个logger。
-    -->
-
-    <!-- 4. 最终的策略 -->
-    <!-- 4.1 开发环境:打印控制台-->
-    <springProfile name="dev">
-        <logger name="com.sdcm.pmp" level="debug"/>
-    </springProfile>
-
-    <root level="info">
-        <appender-ref ref="CONSOLE" />
-        <appender-ref ref="DEBUG_FILE" />
-        <appender-ref ref="INFO_FILE" />
-        <appender-ref ref="WARN_FILE" />
-        <appender-ref ref="ERROR_FILE" />
-    </root>
-
-    <!-- 4.2 生产环境:输出到文档-->
-    <springProfile name="pro">
-        <root level="info">
-            <appender-ref ref="CONSOLE" />
-            <appender-ref ref="DEBUG_FILE" />
-            <appender-ref ref="INFO_FILE" />
-            <appender-ref ref="ERROR_FILE" />
-            <appender-ref ref="WARN_FILE" />
-        </root>
-    </springProfile>
-
-</configuration>

+ 5 - 0
sckw-modules/sckw-system/pom.xml

@@ -62,6 +62,11 @@
             <groupId>com.sckw</groupId>
             <artifactId>sckw-system-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-log</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
     </dependencies>
     <build>

+ 2 - 179
sckw-modules/sckw-system/src/main/resources/bootstrap-local.yml

@@ -5,7 +5,7 @@ spring:
         # 服务注册地址
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw_lfdc
+        namespace: sckw-yzc
         # 共享配置
         group: sckw-service-platform
       config:
@@ -14,7 +14,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw_lfdc
+        namespace: sckw-yzc
         # 共享配置
         group: sckw-service-platform
         #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
@@ -22,180 +22,3 @@ spring:
           - dataId: sckw-common.yml
             group: sckw-service-platform
             refresh: true
-#spring:
-#  rabbitmq:
-#    username: admin
-#    password: admin
-#    host: 10.10.10.138
-#    port: 5672
-#    virtual-host: /
-#  cloud:
-#    nacos:
-#      discovery:
-#        # 服务注册地址
-##        server-addr: 47.108.162.14:8848
-#        server-addr: 127.0.0.1:8848
-#        # 命名空间
-#        namespace: sckw-service-platform-dev
-#        # nacos用户名
-#        username: nacos
-#        # nacos密码
-#        password: nacos
-#        # 共享配置
-#        group: sckw-service-platform
-#        # 权重 1-100 数值越大权重越大分配的流量就越大,通常结合权重负载均衡策略
-#      #        weight: 100
-#      config:
-#        # 配置中心地址
-##        server-addr: 47.108.162.14:8848
-#        server-addr: 127.0.0.1:8848
-#        # 配置文件格式
-#        file-extension: yaml
-#        # 命名空间
-#        namespace: sckw-service-platform-dev
-#        # 共享配置
-#        group: sckw-service-platform
-#        enabled: true
-#    stream:
-#      bindings:
-#        sckwSms-out-0:
-#          destination: sckw-sms
-#          content-type: application/json
-#          default-binder: defaultRabbit
-#          group: sckw
-#        sckwMessage-out-0:
-#          destination: sckw-message
-#          content-type: application/json
-#          default-binder: defaultRabbit
-#          group: sckw
-#      binders:
-#        defaultRabbit:
-#          type: rabbit
-#          environment:
-#            spring:
-#              rabbitmq:
-#                virtual-host: /
-#                host: 39.104.134.114
-#                port: 5672
-#                username: wph
-#                password: Yy123...
-#    # sentinel降级配置
-#    sentinel:
-#      transport:
-#        client-ip: ${spring.cloud.client.ip-address} # 获取本机IP地址
-#        port: 8719  #默认8719端口,如果被占用会向上扫描。
-#        #控制台地址
-#        #dashboard: 47.108.162.14:19527
-#        dashboard: 127.0.0.1:19527
-#      log:
-#        #日志路径
-#        dir: logs/sentinel
-#        # 默认将调用链路收敛,导致链路流控效果无效
-#        web-context-unify: false
-#        #持久化nacos配置中
-#      datasource:
-#        #sentinel-rule: # 唯一名称可自定义
-#        #限流
-#        flow:
-#          nacos:
-#            # 设置Nacos的连接地址、命名空间和Group ID
-#            namespace:  sckw-service-platform-dev
-#            server-addr:  ${spring.cloud.nacos.discovery.server-addr}
-#            # username: ${spring.cloud.nacos.discovery.username}
-#            # password: ${spring.cloud.nacos.discovery.password}
-#            # 设置Nacos中配置文件的命名规则
-#            #            data-id:  ${spring.application.name}-sentinel-flow-rules
-#            data-id:  sckw-file-sentinel-flow-rules
-#            group-id: SENTINEL_GROUP
-#            data-type: json
-#            # 必填的重要字段,指定当前规则类型是"限流"
-#            rule-type: flow
-#        #熔断
-#        degrade:
-#          nacos:
-#            namespace:  sckw-service-platform-dev
-#            server-addr: ${spring.cloud.nacos.discovery.server-addr}
-#            #data-id: ${spring.application.name}-sentinel-degrade-rules
-#            data-id: sckw-file-sentinel-degrade-rules
-#            group-id: SENTINEL_GROUP
-#            #熔断
-#            rule-type: degrade
-#      #取消慢加载
-#      eager: true
-#  datasource:
-#    dynamic:
-#      seata: true
-##sfs:
-##  nacos:
-##    server-addr: 127.0.0.1:8848
-##    namespace: 967df0d8-156b-441a-a5ab-615b4a865168
-##    group: MY_GROUP
-##
-##    nacos:
-##      server-addr: ${sfs.nacos.server-addr}
-##      namespace: ${sfs.nacos.namespace}
-##      group: ${sfs.nacos.group}
-#
-##seata:
-##  # seata 服务分组,要与服务端nacos-config.txt中service.vgroup_mapping的后缀对应
-##  # 事务分组名称,要和服务端对应
-##  tx-service-group: sckw-transport-seata-service-group
-##  service:
-##    vgroup-mapping:
-##      # key是事务分组名称 value要和服务端的机房名称保持一致
-##      sckw-transport-seata-service-group: default
-##  registry:
-##    # 指定nacos作为注册中心
-##    type: nacos
-##    nacos:
-##      server-addr: ${spring.cloud.nacos.discovery.server-addr}
-##      #server-addr: 47.108.162.14:8848
-##      namespace: ${spring.cloud.nacos.discovery.namespace}
-##      #      group: SEATA_GROUP
-##      group: ${spring.cloud.nacos.discovery.group}
-##  config:
-##    # 指定nacos作为配置中心
-##    type: nacos
-##    nacos:
-##      server-addr: ${spring.cloud.nacos.discovery.server-addr}
-##      #server-addr: 47.108.162.14:8848
-##      namespace: ${spring.cloud.nacos.discovery.namespace}
-##      group: ${spring.cloud.nacos.discovery.group}
-##  application-id: ${spring.application.name}
-##  #  当前不生效,使用驼峰
-##  enabled: true
-##  #  enable-auto-data-source-proxy: false
-##  enableAutoDataSourceProxy: false
-##  application-id: sckw-seata-file
-## 支持feign对sentinel支持
-##feign:
-##  sentinel:
-##    enabled: true
-#
-#dubbo:
-#  application:
-#    # 此处没有延用spring.application.name是因为当前项目本身也会注册到nacos中,如果dubbo也延用相同的名称,在nacos服务里会看到注册的producer-server服务数为2
-#    name: transport-dubbo-server
-#  protocol:
-#    name: dubbo
-#    port: -1
-#    prefer-serialization: java
-#  registry:
-#    # 配置dubbo的注册中心为nacos
-#    address: nacos://${spring.cloud.nacos.discovery.server-addr}
-#    group: ${spring.cloud.nacos.config.group}
-#    protocol: nacos
-#    #use-as-config-center: false
-#    #use-as-metadata-center: false
-#aliyun:
-#  oss:
-#    endpoint: oss-cn-chengdu.aliyuncs.com
-#    accessKeyId: LTAI5tPEbubCGq5Rdwygbz4Q
-#    secret: 7mQLWMaBJeZPRV1SRGogctYGXwppjQ
-#    bucket: kaiwu-saas
-#links:
-#isBindManyRole:
-#mybatis-plus:
-#  configuration:
-#    # 是否将sql打印到控制面板(该配置会将sql语句和查询的结果都打印到控制台)
-#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

+ 2 - 2
sckw-modules/sckw-system/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-system"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->

+ 0 - 199
sckw-modules/sckw-system/src/main/resources/logback-spring.xml

@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
-<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
-<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
-                 当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
-<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
-<configuration  scan="true" scanPeriod="10 seconds">
-    <contextName>logback</contextName>
-    <springProperty scope="context" name="applicationName" source="spring.application.name" defaultValue="service"/>
-
-    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
-    <property name="log.path" value="/logs/${applicationName}" />
-
-    <!--0. 日志格式和颜色渲染 -->
-    <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-    <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
-
-    <!--1. 输出到控制台-->
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>debug</level>
-        </filter>
-        <encoder>
-            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
-            <!-- 设置字符集 -->
-            <charset>UTF-8</charset>
-        </encoder>
-    </appender>
-
-    <!--2. 输出到文档-->
-    <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
-    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_debug.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志归档 -->
-            <fileNamePattern>${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录debug级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>debug</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.2 level为 INFO 日志,时间滚动输出  -->
-    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_info.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 每天日志归档路径以及格式 -->
-            <fileNamePattern>${log.path}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录info级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>info</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.3 level为 WARN 日志,时间滚动输出  -->
-    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_warn.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录warn级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>warn</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 2.4 level为 ERROR 日志,时间滚动输出  -->
-    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <!-- 正在记录的日志文档的路径及文档名 -->
-        <file>${log.path}/web_error.log</file>
-        <!--日志文档输出格式-->
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
-            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
-        </encoder>
-        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>100MB</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <!--日志文档保留天数-->
-            <maxHistory>15</maxHistory>
-        </rollingPolicy>
-        <!-- 此日志文档只记录ERROR级别的 -->
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!--
-        <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
-        以及指定<appender>。<logger>仅有一个name属性,
-        一个可选的level和一个可选的addtivity属性。
-        name:用来指定受此logger约束的某一个包或者具体的某一个类。
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-              还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
-              如果未设置此属性,那么当前logger将会继承上级的级别。
-        addtivity:是否向上级logger传递打印信息。默认是true。
-        <logger name="org.springframework.web" level="info"/>
-        <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
-    -->
-    <!-- hibernate logger -->
-    <logger name="com.atguigu" level="debug" />
-    <!-- Spring framework logger -->
-    <logger name="org.springframework" level="debug" additivity="false"></logger>
-
-
-    <!--
-        使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作:
-        第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息
-        第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别:
-        【logging.level.org.mybatis=debug logging.level.dao=debug】
-     -->
-
-    <!--
-        root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
-        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
-        不能设置为INHERITED或者同义词NULL。默认是DEBUG
-        可以包含零个或多个元素,标识这个appender将会添加到这个logger。
-    -->
-
-    <!-- 4. 最终的策略 -->
-    <!-- 4.1 开发环境:打印控制台-->
-    <springProfile name="dev">
-        <logger name="com.sdcm.pmp" level="debug"/>
-    </springProfile>
-
-    <root level="info">
-        <appender-ref ref="CONSOLE" />
-        <appender-ref ref="DEBUG_FILE" />
-        <appender-ref ref="INFO_FILE" />
-        <appender-ref ref="WARN_FILE" />
-        <appender-ref ref="ERROR_FILE" />
-    </root>
-
-    <!-- 4.2 生产环境:输出到文档-->
-    <springProfile name="pro">
-        <root level="info">
-            <appender-ref ref="CONSOLE" />
-            <appender-ref ref="DEBUG_FILE" />
-            <appender-ref ref="INFO_FILE" />
-            <appender-ref ref="ERROR_FILE" />
-            <appender-ref ref="WARN_FILE" />
-        </root>
-    </springProfile>
-
-</configuration>

+ 5 - 0
sckw-modules/sckw-transport/pom.xml

@@ -118,6 +118,11 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-validation</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-log</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
     </dependencies>
 

+ 2 - 2
sckw-modules/sckw-transport/src/main/resources/log4j2.xml

@@ -4,9 +4,9 @@
         <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符 -->
         <!-- %logger{36} 表示 Logger 名字最长36个字符 -->
         <property name="LOG_PATTERN"
-                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
+                  value="%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %X{traceId} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx"/>
         <property name="LOG_WITHOUT_COLOR_PATTERN"
-                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
+                  value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %X{traceId} ${sys:PID}--- [%t] %c{1.} : %m%n%xwEx"/>
         <property name="LOG_PATH" value="logs/sckw-transport"/>
     </properties>
     <!--DEBUG<INFO<WARNING<ERROR<CRITICAL-->