From 912bb305f0c0f715058ea43ff80769d41c97c42a Mon Sep 17 00:00:00 2001
From: 克 刘 <4345453@qq.com>
Date: Thu, 26 Mar 2020 17:27:02 +0800
Subject: [PATCH] 优化kidgrow-log-spring-boot-starter,扩展链路日志

---
 kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/resources/META-INF/spring.factories                     |    2 
 kidgrow-demo/kidgrow-demo-order/src/main/resources/application.yml                                               |    2 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml                 |    2 
 kidgrow-config/src/main/resources/application.properties                                                         |    3 +
 kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-dev.properties                                    |    2 
 kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/aspect/AuditLogAspect.java         |   14 ++++--
 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml                 |    2 
 kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/config/LogAutoConfigure.java       |   14 ++++++
 kidgrow-commons/kidgrow-log-spring-boot-starter/pom.xml                                                          |   24 ++++++++----
 kidgrow-config/src/main/resources/application-dev.properties                                                     |   10 ++++
 kidgrow-uaa/kidgrow-uaa-server/src/main/resources/application.yml                                                |    2 
 kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/properties/AuditLogProperties.java |    4 ++
 kidgrow-config/src/main/resources/application-fat.properties                                                     |   10 ++++
 kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-test.properties                                   |    2 
 kidgrow-business/kidgrow-code-generator/src/main/resources/application.yml                                       |    2 
 15 files changed, 70 insertions(+), 25 deletions(-)

diff --git a/kidgrow-business/kidgrow-code-generator/src/main/resources/application.yml b/kidgrow-business/kidgrow-code-generator/src/main/resources/application.yml
index 51d6b15..03f891f 100644
--- a/kidgrow-business/kidgrow-code-generator/src/main/resources/application.yml
+++ b/kidgrow-business/kidgrow-code-generator/src/main/resources/application.yml
@@ -4,7 +4,7 @@
   application:
     name: code-generator
   datasource:
-    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/user_center?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
+    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/user_center?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: ${kidgrow.datasource.username}
     password: ${kidgrow.datasource.password}
 #    driver-class-name: com.mysql.jdbc.Driver
diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml
index e7c6109..056cc3c 100644
--- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml
+++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml
@@ -10,7 +10,7 @@
   application:
     name: filecenter-server
   datasource:
-    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/file_center?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
+    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/file_center?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: ${kidgrow.datasource.username}
     password: ${kidgrow.datasource.password}
 #    driver-class-name: com.mysql.jdbc.Driver
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
index 5a5429e..e5ac20f 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
@@ -10,7 +10,7 @@
   application:
     name: usercenter-server
   datasource:
-    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/user_center?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
+    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/user_center?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: ${kidgrow.datasource.username}
     password: ${kidgrow.datasource.password}
 #    driver-class-name: com.mysql.jdbc.Driver
diff --git a/kidgrow-commons/kidgrow-log-spring-boot-starter/pom.xml b/kidgrow-commons/kidgrow-log-spring-boot-starter/pom.xml
index 6ee9461..2f43dc5 100644
--- a/kidgrow-commons/kidgrow-log-spring-boot-starter/pom.xml
+++ b/kidgrow-commons/kidgrow-log-spring-boot-starter/pom.xml
@@ -18,7 +18,7 @@
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot</artifactId>
+            <artifactId>spring-boot-starter</artifactId>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -29,20 +29,28 @@
             <artifactId>transmittable-thread-local</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.aspectj</groupId>
-            <artifactId>aspectjweaver</artifactId>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
-            <artifactId>spring-jdbc</artifactId>
+            <artifactId>spring-web</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>com.zaxxer</groupId>
-            <artifactId>HikariCP</artifactId>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>com.zaxxer</groupId>
-            <artifactId>HikariCP</artifactId>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-jdbc</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-configuration-processor</artifactId>
+            <optional>true</optional>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file
diff --git a/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/aspect/AuditLogAspect.java b/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/aspect/AuditLogAspect.java
index 3d5c02b..fdb2879 100644
--- a/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/aspect/AuditLogAspect.java
+++ b/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/aspect/AuditLogAspect.java
@@ -9,8 +9,10 @@
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Before;
 import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.core.DefaultParameterNameDiscoverer;
 import org.springframework.expression.EvaluationContext;
 import org.springframework.expression.Expression;
@@ -32,18 +34,20 @@
  */
 @Slf4j
 @Aspect
+@EnableConfigurationProperties(AuditLogProperties.class)
 @ConditionalOnClass({HttpServletRequest.class, RequestContextHolder.class})
 public class AuditLogAspect {
     @Value("${spring.application.name}")
     private String applicationName;
-
+    @Autowired
     private AuditLogProperties auditLogProperties;
+    @Autowired(required = false)
     private IAuditService auditService;
 
-    public AuditLogAspect(AuditLogProperties auditLogProperties, IAuditService auditService) {
-        this.auditLogProperties = auditLogProperties;
-        this.auditService = auditService;
-    }
+//    public AuditLogAspect(AuditLogProperties auditLogProperties, IAuditService auditService) {
+//        this.auditLogProperties = auditLogProperties;
+//        this.auditService = auditService;
+//    }
 
     /**
      * 用于SpEL表达式解析.
diff --git a/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/config/LogAutoConfigure.java b/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/config/LogAutoConfigure.java
index e2f6630..d33660e 100644
--- a/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/config/LogAutoConfigure.java
+++ b/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/config/LogAutoConfigure.java
@@ -1,7 +1,12 @@
 package com.kidgrow.log.config;
 
+import com.kidgrow.log.properties.AuditLogProperties;
+import com.kidgrow.log.properties.LogDbProperties;
 import com.kidgrow.log.properties.TraceProperties;
+import com.zaxxer.hikari.HikariConfig;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
 
 /**
  * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -11,6 +16,13 @@
  * @CreateDate: Created in 2020/2/4 16:05 <br>
  * @Author: <a href="4345453@kidgrow.com">liuke</a>
  */
-@EnableConfigurationProperties(TraceProperties.class)
+@EnableConfigurationProperties({TraceProperties.class, AuditLogProperties.class})
 public class LogAutoConfigure {
+    /**
+     * 日志数据库配置
+     */
+    @Configuration
+    @ConditionalOnClass(HikariConfig.class)
+    @EnableConfigurationProperties(LogDbProperties.class)
+    public static class LogDbAutoConfigure {}
 }
diff --git a/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/properties/AuditLogProperties.java b/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/properties/AuditLogProperties.java
index 3452628..0bc8bb2 100644
--- a/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/properties/AuditLogProperties.java
+++ b/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/java/com/kidgrow/log/properties/AuditLogProperties.java
@@ -1,6 +1,8 @@
 package com.kidgrow.log.properties;
 
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
 
@@ -13,6 +15,8 @@
  * @Author: <a href="4345453@kidgrow.com">liuke</a>
  */
 @Data
+@NoArgsConstructor
+@AllArgsConstructor
 @ConfigurationProperties(prefix = "kidgrow.audit-log")
 @RefreshScope
 public class AuditLogProperties {
diff --git a/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/resources/META-INF/spring.factories b/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/resources/META-INF/spring.factories
index 2a2cfa5..24b3f75 100644
--- a/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/resources/META-INF/spring.factories
+++ b/kidgrow-commons/kidgrow-log-spring-boot-starter/src/main/resources/META-INF/spring.factories
@@ -2,7 +2,7 @@
 com.kidgrow.log.config.TtlMDCAdapterInitializer
 
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-com.kidgrow.log.config.LogAutoConfigure
+com.kidgrow.log.config.LogAutoConfigure,\
 com.kidgrow.log.service.impl.LoggerAuditServiceImpl,\
 com.kidgrow.log.service.impl.DbAuditServiceImpl,\
 com.kidgrow.log.aspect.AuditLogAspect
diff --git a/kidgrow-config/src/main/resources/application-dev.properties b/kidgrow-config/src/main/resources/application-dev.properties
index fbe91e5..fed6ed1 100644
--- a/kidgrow-config/src/main/resources/application-dev.properties
+++ b/kidgrow-config/src/main/resources/application-dev.properties
@@ -43,4 +43,12 @@
 kidgrow.ribbon.isolation.enabled=false
 
 ##### mybatis-plus\u6253\u5370\u5B8C\u6574sql(\u53EA\u9002\u7528\u4E8E\u5F00\u53D1\u73AF\u5883)
-mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
+mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+
+##### \u5BA1\u8BA1\u65E5\u5FD7\u914D\u7F6E
+kidgrow.audit-log.enabled=true
+kidgrow.audit-log.log-type=db
+kidgrow.audit-log.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
+kidgrow.audit-log.datasource.jdbc-url=jdbc:mysql://${kidgrow.datasource.ip}:3306/logger_center?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
+kidgrow.audit-log.datasource.username=${kidgrow.datasource.username}
+kidgrow.audit-log.datasource.password=${kidgrow.datasource.password}
\ No newline at end of file
diff --git a/kidgrow-config/src/main/resources/application-fat.properties b/kidgrow-config/src/main/resources/application-fat.properties
index 4c18ec2..9a9cb8a 100644
--- a/kidgrow-config/src/main/resources/application-fat.properties
+++ b/kidgrow-config/src/main/resources/application-fat.properties
@@ -43,4 +43,12 @@
 kidgrow.ribbon.isolation.enabled=false
 
 ##### mybatis-plus\u6253\u5370\u5B8C\u6574sql(\u53EA\u9002\u7528\u4E8E\u5F00\u53D1\u73AF\u5883)
-mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
+mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+
+##### \u5BA1\u8BA1\u65E5\u5FD7\u914D\u7F6E
+kidgrow.audit-log.enabled=true
+kidgrow.audit-log.log-type=db
+kidgrow.audit-log.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
+kidgrow.audit-log.datasource.jdbc-url=jdbc:mysql://${kidgrow.datasource.ip}:3306/logger_center?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
+kidgrow.audit-log.datasource.username=${kidgrow.datasource.username}
+kidgrow.audit-log.datasource.password=${kidgrow.datasource.password}
\ No newline at end of file
diff --git a/kidgrow-config/src/main/resources/application.properties b/kidgrow-config/src/main/resources/application.properties
index 9e6ce7a..1dffc9a 100644
--- a/kidgrow-config/src/main/resources/application.properties
+++ b/kidgrow-config/src/main/resources/application.properties
@@ -93,4 +93,5 @@
 mybatis-plus.global-config.db-config.logic-not-delete-value=0
 # \u539F\u751F\u914D\u7F6E
 mybatis-plus.configuration.map-underscore-to-camel-case=true
-mybatis-plus.configuration.cache-enabled=false
\ No newline at end of file
+mybatis-plus.configuration.cache-enabled=false
+
diff --git a/kidgrow-demo/kidgrow-demo-order/src/main/resources/application.yml b/kidgrow-demo/kidgrow-demo-order/src/main/resources/application.yml
index e27a54f..d0efb31 100644
--- a/kidgrow-demo/kidgrow-demo-order/src/main/resources/application.yml
+++ b/kidgrow-demo/kidgrow-demo-order/src/main/resources/application.yml
@@ -11,7 +11,7 @@
   application:
     name: demo-order-server
   datasource:
-    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/demo_order?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
+    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/demo_order?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: ${kidgrow.datasource.username}
     password: ${kidgrow.datasource.password}
 #    driver-class-name: com.mysql.jdbc.Driver
diff --git a/kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-dev.properties b/kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-dev.properties
index 7614e91..61d79d6 100644
--- a/kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-dev.properties
+++ b/kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-dev.properties
@@ -3,7 +3,7 @@
 kidgrow.datasource.username=root
 kidgrow.datasource.password=root
 
-spring.datasource.url=jdbc:mysql://${kidgrow.datasource.ip}:3306/xxl_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
+spring.datasource.url=jdbc:mysql://${kidgrow.datasource.ip}:3306/xxl_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
 spring.datasource.username=${kidgrow.datasource.username}
 spring.datasource.password=${kidgrow.datasource.password}
 
diff --git a/kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-test.properties b/kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-test.properties
index 7614e91..61d79d6 100644
--- a/kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-test.properties
+++ b/kidgrow-jobs/kidgrow-jobs-admin/src/main/resources/application-test.properties
@@ -3,7 +3,7 @@
 kidgrow.datasource.username=root
 kidgrow.datasource.password=root
 
-spring.datasource.url=jdbc:mysql://${kidgrow.datasource.ip}:3306/xxl_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
+spring.datasource.url=jdbc:mysql://${kidgrow.datasource.ip}:3306/xxl_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
 spring.datasource.username=${kidgrow.datasource.username}
 spring.datasource.password=${kidgrow.datasource.password}
 
diff --git a/kidgrow-uaa/kidgrow-uaa-server/src/main/resources/application.yml b/kidgrow-uaa/kidgrow-uaa-server/src/main/resources/application.yml
index aa4e85d..602b866 100644
--- a/kidgrow-uaa/kidgrow-uaa-server/src/main/resources/application.yml
+++ b/kidgrow-uaa/kidgrow-uaa-server/src/main/resources/application.yml
@@ -14,7 +14,7 @@
   application:
     name: uaa-server
   datasource:
-    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/oauth_center?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
+    url: jdbc:mysql://${kidgrow.datasource.ip}:3306/oauth_center?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: ${kidgrow.datasource.username}
     password: ${kidgrow.datasource.password}
 #    driver-class-name: com.mysql.jdbc.Driver

--
Gitblit v1.8.0