# analysis_log **Repository Path**: jack_fly/analysis_log ## Basic Information - **Project Name**: analysis_log - **Description**: 这是一个基于Vue.js + Spring Boot的高性能MyBatis日志分析系统,支持多种日志格式的慢SQL检测、性能监控和模板管理,具备大文件处理能力和优雅的用户界面。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 15 - **Forks**: 14 - **Created**: 2025-07-12 - **Last Updated**: 2025-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MyBatis日志分析系统 一个基于Vue.js + Spring Boot的高性能MyBatis日志分析工具,支持多种日志格式的慢SQL检测和性能监控。 ## 🚀 功能特性 ### 核心功能 - **多格式日志支持**: 支持MyBatis、Spring Boot、Nginx等多种日志格式 - **智能SQL匹配**: 基于正则表达式的智能SQL语句提取和参数匹配 - **慢SQL检测**: 自动识别执行时间超过阈值的慢SQL语句 - **性能监控**: 实时监控日志处理性能,提供详细的性能指标 - **模板管理**: 支持自定义日志模板,灵活适配不同日志格式 ### 技术特性 - **高性能处理**: 多线程批处理,支持大文件快速分析 - **虚拟滚动**: 前端虚拟滚动技术,支持大量数据流畅展示 - **实时搜索**: 支持SQL语句、Mapper名称、参数的实时搜索过滤 - **数据导出**: 支持分析结果导出为CSV格式 - **响应式设计**: 现代化的用户界面,支持多种设备访问 ## 📋 系统要求 - **Java**: 8 或更高版本 - **Node.js**: 14 或更高版本 - **MySQL**: 5.7 或更高版本 - **Maven**: 3.6 或更高版本 ## 🛠️ 快速开始 ### 1. 克隆项目 ```bash git clone cd analysis_log ``` ### 2. 数据库初始化 ```sql -- 创建数据库 CREATE DATABASE IF NOT EXISTS log_analysis DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 使用数据库 USE log_analysis; -- 创建日志模板表 -- `log_analysis`.log_template definition CREATE TABLE `log_template` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `description` varchar(500) DEFAULT NULL COMMENT '模板描述', `preparing_format` text COMMENT 'Preparing行模板', `parameters_format` text COMMENT 'Parameters行模板', `total_format` text COMMENT 'Total行模板', `thread_matching_strategy` varchar(20) DEFAULT 'exact' COMMENT '线程匹配策略', `sql_timeout_threshold` bigint(20) DEFAULT '30000' COMMENT 'SQL超时阈值(毫秒)', `enabled` tinyint(1) DEFAULT '1' COMMENT '是否启用', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `preparing_regex` text COMMENT 'Preparing行正则表达式', `parameters_regex` text COMMENT 'Parameters行正则表达式', `total_regex` text COMMENT 'Total行正则表达式', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4; INSERT INTO `log_analysis`.log_template (id, name, description, preparing_format, parameters_format, total_format, thread_matching_strategy, sql_timeout_threshold, enabled, create_time, update_time, preparing_regex, parameters_regex, total_regex) VALUES(1, 'MyBatis Preparing', '案例: 2025-07-12 10:00:00 [main] DEBUG com.example.mapper.UserMapper - ==> Preparing: SELECT * FROM users WHERE id = ?', '{time} [{thread}] {level} {class} - ==> Preparing: {sql}', '{time} [{thread}] {level} {class} - ==> Parameters: {params}', '{time} [{thread}] {level} {class} - <== Total: {total}', 'exact', 5000, 1, '2025-07-12 00:31:09', '2025-07-12 13:12:41', '(?