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