日志分析服务器

MCP日志分析服务器是一款用于分析Spring/SpringBoot应用程序日志的工具,支持Tomcat和Jetty日志格式,提供错误检测、统计计算和RESTful API等功能。

  • by dark3rMatt3r
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 dark3rmatt3r/log-analysis-mcp-server

使用说明

MCP日志分析服务器

一个模型上下文协议(MCP)服务器,用于分析运行在Tomcat或Jetty上的Spring/SpringBoot web应用程序的日志。

特性

  • 解析Spring Boot和Tomcat日志格式
  • 检测应用程序启动模式
  • 识别错误模式和异常
  • 计算日志统计
  • 用于日志分析的RESTful API
  • 领域驱动设计架构
  • JUnit5的全面测试覆盖率

快速开始

先决条件

  • Java 17或更高版本
  • Maven 3.8+

建筑

mvn clean compile

运行测试

# Unit tests only
mvn test

# Integration tests
mvn verify -P integration-tests

# With coverage
mvn test -P coverage

运行应用程序

# Development mode
mvn spring-boot:run -Dspring-boot.run.profiles=dev

# Production JAR
mvn clean package
java -jar target/mcp-log-analysis-server-1.0.0.jar

码头工人

# Build image
docker build -t mcp-log-analysis-server .

# Run with docker-compose
docker-compose up -d

用法

服务器实现了模型上下文协议,并提供了三个主要工具:

  1. analyze_log_file -从文件系统分析日志文件
  2. analyze_log_content -直接分析日志内容
  3. get_analysis_result -检索以前的分析结果

支持的日志格式示例

Spring Boot格式:

2024-01-01 10:00:00.123  INFO 12345 --- [main] com.example.Application : Starting Application

Tomcat格式:

01-Jan-2024 10:00:00.123 INFO [main] org.apache.catalina.startup.Catalina Starting Tomcat

建筑

该项目遵循领域驱动设计原则:

  • 域层:核心业务逻辑和实体
  • 应用层:用例和应用程序服务
  • 基础设施层:外部问题(持久性、解析)
  • 界面层:MCP协议实施

测试策略

  • 域逻辑的单元测试
  • 组件集成测试
  • 大型数据集的性能测试
  • 可维护性测试数据生成器

贡献

  1. 遵循现有的代码风格(谷歌Java格式)
  2. 确保所有测试通过
  3. 保持测试覆盖率在80%以上
  4. 根据需要更新文档

许可证

MIT许可证