diff --git a/continew-admin-common/pom.xml b/continew-admin-common/pom.xml index 65a9a914..25ba5b9c 100644 --- a/continew-admin-common/pom.xml +++ b/continew-admin-common/pom.xml @@ -108,7 +108,7 @@ continew-starter-json-jackson - + com.yomahub tlog-web-spring-boot-starter diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/properties/CaptchaProperties.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/properties/CaptchaProperties.java index 0893edae..59bd82be 100644 --- a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/properties/CaptchaProperties.java +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/properties/CaptchaProperties.java @@ -16,16 +16,11 @@ package top.charles7c.continew.admin.common.config.properties; -import java.awt.*; - import lombok.Data; - import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; -import com.wf.captcha.*; - /** * 验证码配置属性 * diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/properties/TLogProperties.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/properties/TLogProperties.java index 2784e0a6..63d5ddb6 100644 --- a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/properties/TLogProperties.java +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/properties/TLogProperties.java @@ -18,24 +18,38 @@ package top.charles7c.continew.admin.common.config.properties; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; /** * TLog 配置属性 * + *

+ * 重写 TLog 配置以适配 Spring Boot 3.x + *

+ * * @author Jasmine - * @since 2024/01/30 11:39 + * @since 2024/1/30 11:39 */ @Data -@Component @ConfigurationProperties(prefix = "tlog") public class TLogProperties { - /** 日志标签模板 */ + + /** + * 日志标签模板 + */ private String pattern; - /** 自动打印调用参数和时间 */ + + /** + * 自动打印调用参数和时间 + */ private Boolean enableInvokeTimePrint; - /** 自定义TraceId生成器 */ + + /** + * 自定义 TraceId 生成器 + */ private String idGenerator; - /** MDC模式 */ + + /** + * MDC 模式 + */ private Boolean mdcEnable; } diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogConfiguration.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogConfiguration.java index cdc29fe9..d83057a8 100644 --- a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogConfiguration.java +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogConfiguration.java @@ -18,6 +18,8 @@ package top.charles7c.continew.admin.common.config.tlog; import com.yomahub.tlog.id.TLogIdGeneratorLoader; import com.yomahub.tlog.spring.TLogPropertyInit; +import lombok.RequiredArgsConstructor; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; @@ -26,19 +28,21 @@ import top.charles7c.continew.admin.common.config.properties.TLogProperties; /** * TLog 配置 * + *

+ * 重写 TLog 配置以适配 Spring Boot 3.x + *

+ * * @see TLogConfiguration * @author Jasmine - * @since 2024/01/30 11:39 + * @since 2024/1/30 11:39 */ @Configuration +@RequiredArgsConstructor +@EnableConfigurationProperties(TLogProperties.class) public class TLogConfiguration { private final TLogProperties tLogProperties; - public TLogConfiguration(TLogProperties tLogProperties) { - this.tLogProperties = tLogProperties; - } - @Bean @Primary public TLogPropertyInit tLogPropertyInit() { @@ -46,8 +50,7 @@ public class TLogConfiguration { tLogPropertyInit.setPattern(tLogProperties.getPattern()); tLogPropertyInit.setEnableInvokeTimePrint(tLogProperties.getEnableInvokeTimePrint()); tLogPropertyInit.setMdcEnable(tLogProperties.getMdcEnable()); - - // 设置自定义TraceId生成器 + // 设置自定义 TraceId 生成器 TLogIdGeneratorLoader.setIdGenerator(new TraceIdGenerator()); return tLogPropertyInit; } diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogServletFilter.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogServletFilter.java index 1e180b22..fb27eaaf 100644 --- a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogServletFilter.java +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogServletFilter.java @@ -28,26 +28,26 @@ import java.io.IOException; /** * TLog 过滤器 * + *

+ * 重写 TLog 配置以适配 Spring Boot 3.x + *

+ * * @see TLogConfiguration * @author Jasmine - * @since 2024/01/30 11:39 + * @since 2024/1/30 11:39 */ @Component public class TLogServletFilter implements Filter { - @Override - public void init(FilterConfig filterConfig) throws ServletException { - - } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) { + if (request instanceof HttpServletRequest httpServletRequest && response instanceof HttpServletResponse httpServletResponse) { try { - TLogWebCommon.loadInstance().preHandle((HttpServletRequest)request); - // 把traceId放入response的header,为了方便有些人有这样的需求,从前端拿整条链路的traceId - ((HttpServletResponse)response).addHeader(TLogConstants.TLOG_TRACE_KEY, TLogContext.getTraceId()); + TLogWebCommon.loadInstance().preHandle(httpServletRequest); + // 把 traceId 放入 response 的 header,为了方便有些人有这样的需求,从前端拿整条链路的 traceId + httpServletResponse.addHeader(TLogConstants.TLOG_TRACE_KEY, TLogContext.getTraceId()); chain.doFilter(request, response); return; } finally { @@ -56,9 +56,4 @@ public class TLogServletFilter implements Filter { } chain.doFilter(request, response); } - - @Override - public void destroy() { - - } } diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogWebCommon.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogWebCommon.java index d6811a3a..9a0df193 100644 --- a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogWebCommon.java +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TLogWebCommon.java @@ -20,20 +20,20 @@ import com.yomahub.tlog.constant.TLogConstants; import com.yomahub.tlog.core.rpc.TLogLabelBean; import com.yomahub.tlog.core.rpc.TLogRPCHandler; import jakarta.servlet.http.HttpServletRequest; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** - * TLog + * TLog Web 通用拦截器 + * + *

+ * 重写 TLog 配置以适配 Spring Boot 3.x + *

* * @see TLogWebCommon * @author Jasmine - * @since 2024/01/30 11:39 + * @since 2024/1/30 11:39 */ public class TLogWebCommon extends TLogRPCHandler { - private final static Logger log = LoggerFactory.getLogger(TLogWebCommon.class); - private static volatile TLogWebCommon tLogWebCommon; public static TLogWebCommon loadInstance() { @@ -53,9 +53,7 @@ public class TLogWebCommon extends TLogRPCHandler { String preIvkApp = request.getHeader(TLogConstants.PRE_IVK_APP_KEY); String preIvkHost = request.getHeader(TLogConstants.PRE_IVK_APP_HOST); String preIp = request.getHeader(TLogConstants.PRE_IP_KEY); - TLogLabelBean labelBean = new TLogLabelBean(preIvkApp, preIvkHost, preIp, traceId, spanId); - processProviderSide(labelBean); } diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TraceIdGenerator.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TraceIdGenerator.java index 0bd36abd..603215da 100644 --- a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TraceIdGenerator.java +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/tlog/TraceIdGenerator.java @@ -19,16 +19,15 @@ package top.charles7c.continew.admin.common.config.tlog; import com.yomahub.tlog.id.TLogIdGenerator; /** - * TLog 配置 + * TLog ID 自定义生成器 * * @see TraceIdGenerator * @author Jasmine - * @since 2024/01/30 11:39 + * @since 2024/1/30 11:39 */ public class TraceIdGenerator extends TLogIdGenerator { @Override public String generateTraceId() { - String traceId = String.valueOf(System.nanoTime()); - return traceId; + return String.valueOf(System.nanoTime()); } } \ No newline at end of file diff --git a/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/ContiNewAdminApplication.java b/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/ContiNewAdminApplication.java index cce6d711..e23cacfb 100644 --- a/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/ContiNewAdminApplication.java +++ b/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/ContiNewAdminApplication.java @@ -32,6 +32,8 @@ import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import top.charles7c.continew.starter.core.autoconfigure.project.ProjectProperties; +import top.charles7c.continew.starter.core.constant.PropertiesConstants; +import top.charles7c.continew.starter.core.constant.StringConstants; import top.charles7c.continew.starter.extension.crud.annotation.EnableCrudRestController; import top.charles7c.continew.starter.web.annotation.EnableGlobalExceptionHandler; @@ -81,7 +83,8 @@ public class ContiNewAdminApplication implements ApplicationRunner { log.info("----------------------------------------------"); log.info("{} service started successfully.", projectProperties.getName()); log.info("API 地址:{}", baseUrl); - if (SpringUtil.getProperty("springdoc.swagger-ui.enabled", boolean.class, false)) { + String docEnabledProperty = PropertiesConstants.SPRINGDOC_SWAGGER_UI + StringConstants.DOT + PropertiesConstants.ENABLED; + if (Boolean.TRUE.equals(SpringUtil.getProperty(docEnabledProperty, boolean.class, false))) { log.info("API 文档:{}/doc.html", baseUrl); } log.info("----------------------------------------------"); diff --git a/continew-admin-webapi/src/main/resources/config/application.yml b/continew-admin-webapi/src/main/resources/config/application.yml index 6a922b3b..b1011776 100644 --- a/continew-admin-webapi/src/main/resources/config/application.yml +++ b/continew-admin-webapi/src/main/resources/config/application.yml @@ -37,6 +37,11 @@ continew-starter.log: ## 项目日志配置 logging: config: classpath:logback-spring.xml +## TLog 链路追踪配置 +tlog: + enable-invoke-time-print: false + pattern: '[$spanId][$traceId]' + mdc-enable: false --- ### 线程池配置 continew-starter.thread-pool: @@ -247,10 +252,4 @@ generator: packageName: service.impl Controller: templatePath: generator/Controller.ftl - packageName: controller - ---- ### TLog -tlog: - enable-invoke-time-print: true - pattern: '[$spanId][$traceId]' - mdc-enable: false \ No newline at end of file + packageName: controller \ No newline at end of file diff --git a/pom.xml b/pom.xml index a1d6f85b..dbefb046 100644 --- a/pom.xml +++ b/pom.xml @@ -33,8 +33,6 @@ 2.4.0-SNAPSHOT - 1.5.1 - 3.9.1.2184 @@ -74,13 +72,6 @@ continew-admin-common ${revision}
- - - - com.yomahub - tlog-web-spring-boot-starter - ${tlog.version} - @@ -188,7 +179,6 @@ org.sonarsource.scanner.maven sonar-maven-plugin - ${sonar.version} verify