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