# operation-comparison-log **Repository Path**: lihuastudy/operation-comparison-log ## Basic Information - **Project Name**: operation-comparison-log - **Description**: operation-comparison-log - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2025-01-24 - **Last Updated**: 2025-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: 数据对比, Java ## README # 操作日志对比组件 ## 介绍 operationComparisonLog 是一个用于记录和对比操作日志的组件,能够帮助开发者追踪业务操作中的数据变化。该组件支持异步和同步事件处理,提供数据脱敏、数据对比以及日志持久化等功能。 ## 软件架构 本组件基于 Spring Boot 框架开发,采用事件驱动模型进行设计,主要模块包括: - **事件模块**:定义异步和同步事件类,用于触发日志记录。 - **服务模块**:实现日志对比逻辑和数据处理。 - **数据模块**:定义日志相关的数据结构,如操作详情、基础数据、用户信息等。 - **工具模块**:提供字段缓存、数据对比、对象拷贝等通用工具方法。 ## 安装教程 1. 将本组件作为依赖引入您的 Spring Boot 项目。 2. 确保您的项目已配置 Spring Boot 的自动装配功能。 3. 在需要记录操作日志的地方发布 `OperationLogAsyncApplicationEvent` 或 `OperationLogSyncApplicationEvent` 事件。 ## 使用说明 1. **定义日志数据**:实现 `ExtendedLogEventData` 接口以定义需要记录的数据结构。 2. **发布事件**:在业务代码中创建 `OperationLogEvent` 并通过 `ApplicationEventPublisher` 发布事件。 3. **处理日志**:组件会自动处理事件并记录操作日志,您也可以自定义 `OperationLogContrastService` 实现特定逻辑。 ## 参与贡献 欢迎提交 Pull Request 和 Issue。请遵循以下步骤: 1. Fork 本仓库。 2. 创建新分支 (`git checkout -b feature/your-feature-name`)。 3. 提交更改 (`git commit -am 'Add some feature'`)。 4. 推送分支 (`git push origin feature/your-feature-name`)。 5. 创建 Pull Request。 ## 特技 - **异步/同步日志处理**:支持异步和同步两种事件处理方式,适应不同场景需求。 - **数据脱敏**:提供可配置的数据脱敏功能,保护敏感信息。 - **自动字段对比**:自动对比操作前后的数据差异,生成详细的变更记录。 - **灵活扩展**:支持自定义数据结构和日志处理逻辑,便于集成到不同项目中。