# operation-log-analyzer **Repository Path**: dlbyy/operation-log-analyzer ## Basic Information - **Project Name**: operation-log-analyzer - **Description**: 操作日志分析报告生成系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-26 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 操作日志分析系统使用说明 ## 系统概述 这是一个基于Spring Boot的Java服务系统,能够连接MySQL数据库查询操作日志表(operate_log)的数据,经过分析处理后自动生成美观的HTML分析报告。 ## 技术栈 - **Spring Boot**: 2.1.2.RELEASE - **Java**: 1.8+ - **数据库**: MySQL 5.7+ - **前端**: HTML5 + CSS3 + Chart.js + FineUI - **构建工具**: Maven ## 目录结构 ``` anyi操作日志分析报告/ ├── src/ │ └── main/ │ ├── java/com/anyi/loganalyzer/ │ │ ├── controller/ # 控制器层 │ │ ├── service/ # 服务层 │ │ ├── repository/ # 数据访问层 │ │ ├── entity/ # 实体类 │ │ ├── dto/ # 数据传输对象 │ │ ├── generator/ # HTML报告生成器 │ │ └── OperationLogAnalyzerApplication.java # 启动类 │ └── resources/ │ └── application.yml # 配置文件 ├── pom.xml # Maven配置文件 ├── init_database.sql # 数据库初始化脚本 ├── start.bat # Windows启动脚本 └── README.md # 本文件 ``` ## 快速开始 ### 1. 环境准备 - 安装JDK 1.8或更高版本 - 安装MySQL 5.7或更高版本 - 安装Maven 3.6+(可选,用于编译) ### 2. 数据库配置 1. 执行 `init_database.sql` 脚本创建数据库和表 2. 修改 `src/main/resources/application.yml` 中的数据库连接配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/anyi_operation_log?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: your_username password: your_password ``` ### 3. 启动服务 双击运行 `start.bat` 脚本,或手动执行: ```bash # 编译项目 mvn clean package -DskipTests # 启动服务 java -jar target/operation-log-analyzer-1.0.0.jar ``` ### 4. 验证服务 访问以下URL验证服务是否正常运行: - 服务状态:http://localhost:8080/api/log-analysis/status - 数据库连接测试:http://localhost:8080/api/log-analysis/test-connection ## API接口说明 ### 1. 生成分析报告 ``` POST /api/log-analysis/generate-report 参数: - startTime: 开始时间 (格式: yyyy-MM-dd HH:mm:ss, 可选) - endTime: 结束时间 (格式: yyyy-MM-dd HH:mm:ss, 可选) - outputPath: 输出文件路径 (默认: ./9.html, 可选) 示例: curl -X POST "http://localhost:8080/api/log-analysis/generate-report?startTime=2025-10-14%2000:00:00&endTime=2026-02-12%2023:59:59" ``` ### 2. 获取分析结果(JSON格式) ``` GET /api/log-analysis/analyze 参数: - startTime: 开始时间 (可选) - endTime: 结束时间 (可选) 示例: curl "http://localhost:8080/api/log-analysis/analyze?startTime=2025-10-14%2000:00:00&endTime=2026-02-12%2023:59:59" ``` ### 3. 系统状态查询 ``` GET /api/log-analysis/status ``` ### 4. 数据库连接测试 ``` GET /api/log-analysis/test-connection ``` ## 生成的报告内容 生成的HTML报告(`9.html`)包含以下内容: 1. **报告概览** - 时间范围、系统介绍、核心结论 2. **关键指标汇总** - 总日志量、操作成功率、异常次数、风险警告数 3. **详细分析** - 按时间维度统计操作结果(折线图) - 按时间维度统计风险级别(柱状图) - 安全风险等级占比(饼图) - 按功能风险级别统计(表格) - 近期高风险操作明细 4. **异常与事件** - 失败操作详情分析 5. **结论与建议** - 系统健康状况、风险预警、优化建议 ## 数据库表结构 ### operate_log 表 ```sql CREATE TABLE operate_log ( id BIGINT AUTO_INCREMENT PRIMARY KEY, operator_name VARCHAR(50) NOT NULL COMMENT '操作员姓名', target_type VARCHAR(50) NOT NULL COMMENT '操作对象类型', operation_type VARCHAR(50) NOT NULL COMMENT '操作类型', result VARCHAR(20) NOT NULL COMMENT '操作结果', ip_address VARCHAR(50) COMMENT '操作IP地址', operate_time DATETIME NOT NULL COMMENT '操作时间', risk_level VARCHAR(20) DEFAULT '信息' COMMENT '风险级别', error_message TEXT COMMENT '错误信息', description TEXT COMMENT '操作描述' ); ``` ## 配置说明 ### application.yml 主要配置项: ```yaml spring: datasource: url: 数据库连接URL username: 数据库用户名 password: 数据库密码 jpa: hibernate: ddl-auto: none # 不自动创建表结构 server: port: 8080 # 服务端口 ``` ## 注意事项 1. **数据库连接**:确保MySQL服务正在运行且配置正确 2. **权限设置**:数据库用户需要有读取operate_log表的权限 3. **时间范围**:建议查询时间范围不超过一年,避免性能问题 4. **文件路径**:生成的HTML文件路径需要有写入权限 5. **内存配置**:对于大量数据,可能需要调整JVM内存参数 ## 故障排除 ### 常见问题: 1. **数据库连接失败**:检查数据库服务状态和连接配置 2. **端口占用**:修改application.yml中的server.port配置 3. **编译失败**:确保Maven环境配置正确 4. **生成报告为空**:检查数据库中是否有符合条件的数据 ### 日志查看: 日志文件位于控制台输出,包含详细的调试信息。 ## 版本信息 - 当前版本:1.0.0 - 发布日期:2026年2月12日 - 作者:Anyi System 如有问题请联系技术支持。