日志分析工具

Log Analyzer MCP 是一个强大的基于 Python 的工具包,旨在简化日志文件的分析过程,提供命令行界面和 MCP 服务器功能,适用于调试、监控和日志分析。

  • by djm81
  • Python
  • 本地部署
  • 12 星标
  • 更新于
在 GitHub 查看 djm81/log_analyzer_mcp

使用说明

日志分析器MCP

概述:轻松分析日志

日志分析器MCP 是一个功能强大的基于Python的工具包,旨在简化您与日志文件的交互方式。无论您是调试复杂的应用程序、监控测试运行,还是只是试图理解详细的日志输出,此工具都提供了命令行界面(CLI)和模型上下文协议(MCP)服务器,以帮助您快速有效地找到所需的见解。

为什么使用日志分析器MCP?

  • 简化日志分析: 通过灵活的解析、高级过滤(基于时间、内容、位置)和可配置的上下文显示来消除干扰。
  • 与您的工作流程集成: 将其用作独立设备 loganalyzer 用于脚本编写和直接分析的CLI工具,或将MCP服务器与Cursor等兼容客户端集成,以获得人工智能辅助体验。
  • 可扩展和可配置: 定义自定义日志源、模式和搜索范围,以根据您的特定需求定制分析。

主要特点

  • 堆芯日志分析引擎: 强大的后端,用于解析和搜索各种日志格式。
  • loganalyzer CLI: 直观的命令行工具,用于直接日志交互。
  • MCP服务器: 向MCP客户端公开日志分析功能,启用以下功能:
    • 测试日志摘要(analyze_tests).
    • 以不同的详细程度执行测试运行。
    • 目标单元测试执行(run_unit_test).
    • 按需生成代码覆盖率报告(create_coverage_report).
    • 高级日志搜索:所有记录,基于时间,前/后N条记录。
  • 赫氏公司集成: 便于开发、测试和依赖管理。

安装

此包可以从PyPI(发布后)安装,也可以直接从本地构建安装,以用于开发目的。

来自PyPI(推荐给用户)

一旦包发布到PyPI。

pip install log-analyzer-mcp

这将安装 loganalyzer CLI工具,并使MCP服务器包可用于集成。

来自本地构建(面向开发人员或测试)

如果您已克隆存储库并希望使用本地更改:

  1. 确保舱口盖已安装。 (参见 开发者指南)

  2. 构建包:

    hatch build
    

    这将在中创建wheel和sdist包 dist/ 目录。

  3. 将本地构建安装到Hatch环境(或任何其他虚拟环境)中: 替换 <version> 根据生成的车轮文件中的实际版本(例如。, 0.2.7).

    # If using Hatch environment:
    hatch run pip uninstall log-analyzer-mcp -y && hatch run pip install dist/log_analyzer_mcp-<version>-py3-none-any.whl
    
    # For other virtual environments:
    # pip uninstall log-analyzer-mcp -y # (If previously installed)
    # pip install dist/log_analyzer_mcp-<version>-py3-none-any.whl
    

    对于像Cursor这样的IDE,要获取对MCP服务器的更改,您可能需要在IDE中手动重新加载服务器。请参阅 开发者指南 了解详情。

入门:使用日志分析器MCP

使用日志分析器MCP有两种主要方法:

  1. 作为命令行工具(loganalyzer):

  2. 作为MCP服务器(例如,使用游标):

    • 将日志分析功能直接集成到您的AI辅助开发环境中。
    • 有关安装,请参阅 安装 部分。安装软件包时包含MCP服务器组件。
    • 有关Cursor等客户端的配置以及运行服务器的详细信息,请参阅 配置和运行MCP服务器 下面和 开发者指南.

配置和运行MCP服务器

配置

日志分析器MCP(用于CLI和服务器)的配置主要通过环境变量或 .env 项目根目录中的文件。

  • 环境变量: 设置变量,如 LOG_DIRECTORIES, LOG_PATTERNS_ERROR, LOG_CONTEXT_LINES_BEFORE, LOG_CONTEXT_LINES_AFTER等等,在工具或服务器运行的环境中。
  • .env 文件: 创建一个 .env 通过复制文件 .env.template (需要创建此模板文件并将其添加到存储库中)并自定义值。

有关所有配置选项及其用法的完整列表,请参阅 (即将推出) 配置指南. (注: .env.template 应该创建文件并将其添加到存储库中,为用户提供一个起点。)

运行MCP服务器

MCP服务器可以通过多种方式启动:

  1. 通过MCP客户端(例如Cursor): 配置您的客户端以启动 log-analyzer-mcp 可执行文件(通常使用助手,如 uvx).这是集成服务器的典型方式。

    客户端配置示例(例如 .cursor/mcp.json):

    {
      "mcpServers": {
        "log_analyzer_mcp_server_prod": {
          "command": "uvx", // uvx is a tool to run python executables from venvs
          "args": [
            "log-analyzer-mcp" // Fetches and runs the latest version from PyPI
            // Or, for a specific version: "log-analyzer-mcp==0.2.0"
          ],
          "env": {
            "PYTHONUNBUFFERED": "1",
            "PYTHONIOENCODING": "utf-8",
            "MCP_LOG_LEVEL": "INFO", // Recommended for production
            // "MCP_LOG_FILE": "/path/to/your/logs/mcp/log_analyzer_mcp_server.log", // Optional
            // --- Configure Log Analyzer specific settings via environment variables ---
            // These are passed to the analysis engine used by the server.
            // Example: "LOG_DIRECTORIES": "[\"/path/to/your/app/logs\"]",
            // Example: "LOG_PATTERNS_ERROR": "[\"Exception:.*\"]"
            // (Refer to the (Upcoming) docs/configuration.md for all options)
          }
        }
        // You can add other MCP servers here
      }
    }
    

    笔记:

    • 替换占位符路径并参考 入门指南,the (即将推出) 配置指南,以及 开发者指南 有关配置选项和环境变量的更多信息。
    • PyPI上的实际包名为 log-analyzer-mcp.
  2. 直接(用于开发/测试): 如果需要,您可以直接使用其入口点运行服务器。这 log-analyzer-mcp 可以使用命令(安装后可用):

    log-analyzer-mcp --transport http --port 8080
    # or for stdio transport
    # log-analyzer-mcp --transport stdio
    

    参见 log-analyzer-mcp --help 更多选择。对于开发,使用中定义的Hatch脚本 pyproject.toml 或中描述的方法 开发者指南 也很常见。

文档

  • api参考: MCP服务器工具和CLI命令的详细参考。
  • 入门指南: 面向用户和集成商。本指南提供了总体概述。
  • 开发者指南: 对于贡献者,涵盖环境设置、构建、详细的测试程序(包括覆盖率检查)和发布指南。
  • (即将推出) 配置指南: 详细解释所有 .env 以及环境变量设置。 (需要创建此文档。)
  • (即将推出) CLI使用指南: 面向所有人的全面指南 loganalyzer 命令和选项。 (需要创建此文档。)
  • .env.template: 用于配置环境变量的模板文件。 (需要创建此文件并将其添加到存储库中。)
  • 重构计划: 项目持续发展的技术细节。

测试

要运行测试并生成覆盖率报告,请参阅综合 开发人员指南中的测试指南本节涵盖了使用 hatch test,运行覆盖率测试,生成HTML报告,并针对特定测试。

贡献

我们欢迎捐款!请看 贡献.md 和那个 开发者指南 有关如何设置环境、测试和贡献的指南。

许可证

日志分析器MCP根据MIT许可证和Commons条款获得许可。看 许可证.md 了解详情。