本项目提供了实用工具,可从压缩的日志文件创建SQLite数据库,并借助模型上下文协议(MCP)SQLite服务器与之交互,助力高效的日志分析工作。
首先,创建并激活虚拟环境,然后安装项目所需的依赖包:
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
接着,将日志文件以 .gz 格式存放在指定文件夹中,运行以下命令创建日志数据库:
python3 create_log_db.py
若要在Cursor中配置MCP SQLite服务器,可按以下步骤操作:
SQLlite;命令行;npx -y @smithery/cli@latest run mcp-server-sqlite-npx --config "{\"databasePath\":\"/path/to/thedatbase/logs.db\"}"
create_log_db.py:此脚本用于将日志文件提取并解析到SQLite数据库。query_logs.py:可直接使用该脚本查询SQLite数据库。logs.db:该SQLite数据库包含了解析后的日志数据。数据库包含以下几个重要的表:
logs 表| 字段 | 详情 |
|---|---|
id |
每个日志条目的唯一标识符 |
timestamp |
日志条目的时间戳 |
thread |
生成日志的线程 |
level |
日志级别(INFO、WARN、ERROR、DEBUG) |
module |
生成日志的模块 |
message |
日志消息内容 |
source_file |
源日志文件 |
raw_log |
原始日志条目 |
stack_traces 表| 字段 | 详情 |
|---|---|
id |
每个堆栈跟踪的唯一标识符 |
log_id |
引用所属的日志条目 |
stack_trace |
完整的堆栈跟踪文本 |
parsing_errors 表| 字段 | 详情 |
|---|---|
id |
每个解析错误的唯一标识符 |
line |
无法解析的行 |
source_file |
源日志文件 |
error_message |
解释解析失败原因的错误消息 |
timestamp |
解析错误发生的时间 |