From 5063fc8dd15e8a5f81577cdc7889c9fae2df1907 Mon Sep 17 00:00:00 2001 From: lzh Date: Wed, 21 Jan 2026 18:43:54 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ops):=20=E7=A7=BB=E9=99=A4=E6=97=A7?= =?UTF-8?q?=E7=9A=84publisher=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除 BusinessLogPublisher 接口 - 删除 DefaultBusinessLogPublisher 实现 - 改用 recorder 模式替代 publisher 模式 Co-Authored-By: Claude Opus 4.5 --- .../log/publisher/BusinessLogPublisher.java | 50 ----------- .../DefaultBusinessLogPublisher.java | 83 ------------------- 2 files changed, 133 deletions(-) delete mode 100644 viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/publisher/BusinessLogPublisher.java delete mode 100644 viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/publisher/DefaultBusinessLogPublisher.java diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/publisher/BusinessLogPublisher.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/publisher/BusinessLogPublisher.java deleted file mode 100644 index 3cd9301..0000000 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/publisher/BusinessLogPublisher.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.viewsh.module.ops.infrastructure.log.publisher; - -import com.viewsh.module.ops.infrastructure.log.context.BusinessLogContext; - -/** - * 业务日志发布器接口 - *

- * 用于发布业务日志,支持异步发布 - * - * @author lzh - */ -public interface BusinessLogPublisher { - - /** - * 发布业务日志 - * - * @param context 日志上下文 - */ - void publish(BusinessLogContext context); - - /** - * 异步发布业务日志 - * - * @param context 日志上下文 - */ - void publishAsync(BusinessLogContext context); - - /** - * 发布成功日志 - * - * @param context 日志上下文 - */ - void publishSuccess(BusinessLogContext context); - - /** - * 发布失败日志 - * - * @param context 日志上下文 - * @param errorMessage 错误消息 - */ - void publishFailure(BusinessLogContext context, String errorMessage); - - /** - * 发布异常日志 - * - * @param context 日志上下文 - * @param throwable 异常 - */ - void publishError(BusinessLogContext context, Throwable throwable); -} diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/publisher/DefaultBusinessLogPublisher.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/publisher/DefaultBusinessLogPublisher.java deleted file mode 100644 index 5c96106..0000000 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/infrastructure/log/publisher/DefaultBusinessLogPublisher.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.viewsh.module.ops.infrastructure.log.publisher; - -import com.viewsh.module.ops.infrastructure.log.context.BusinessLogContext; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Component; - -/** - * 默认业务日志发布器 - *

- * 职责: - * 1. 发布业务日志到日志系统 - * 2. 支持异步发布 - * 3. 支持结构化日志输出 - * - * @author lzh - */ -@Slf4j -@Component -public class DefaultBusinessLogPublisher implements BusinessLogPublisher { - - // TODO: 注入实际的日志存储服务(如 MongoDB、Elasticsearch 等) - // @Resource - // private BusinessLogRepository businessLogRepository; - - @Override - public void publish(BusinessLogContext context) { - if (context == null) { - return; - } - - // 输出结构化日志 - log.info("[BusinessLog] type={}, scope={}, description={}, targetId={}, targetType={}, success={}", - context.getType(), - context.getScope(), - context.getDescription(), - context.getTargetId(), - context.getTargetType(), - context.getSuccess()); - - // TODO: 持久化到日志存储 - // businessLogRepository.save(context); - } - - @Override - @Async("ops-task-executor") - public void publishAsync(BusinessLogContext context) { - publish(context); - } - - @Override - public void publishSuccess(BusinessLogContext context) { - if (context == null) { - return; - } - context.setSuccess(true); - publish(context); - } - - @Override - public void publishFailure(BusinessLogContext context, String errorMessage) { - if (context == null) { - return; - } - context.setSuccess(false); - context.setErrorMessage(errorMessage); - publish(context); - } - - @Override - public void publishError(BusinessLogContext context, Throwable throwable) { - if (context == null) { - return; - } - context.setSuccess(false); - context.setErrorMessage(throwable != null ? throwable.getMessage() : "Unknown error"); - publish(context); - - // 同时输出异常堆栈 - log.error("[BusinessLog] Error occurred", throwable); - } -}