loglens
Loglens调查了保存在本地文件中的homelab日志
存储,最近到达的,错误的,提到的
一个术语,体积是如何随时间分布的,以及A的周围是什么
的时刻。一个二进制文件提供命令行接口和工作室MCP
服务器公开单个操作分派工具; cortex.
这是一个标记的核心子集。它被模仿的工具
调度60个目录操作;Loglens实现了其中的7个
status, tail, errors, search, timeline, context,
help -并省略了其他53个(舰队和拓扑视图,人工智能)
会话分析,相关性和异常分析,错误
确认、通知和管理)。这个 help
Action列出了实现的子集和省略的操作
运行时。
日志文件
记录保存在JSONL文件中:每行一个JSON对象,每个对象都有
ts (ISO-8601时间戳), level, source, message:
{"ts":"2026-10-26T09:15:00.000Z","level":"info","source":"docker/web","message":"container started"}
{"ts":"2026-10-26T09:16:12.000Z","level":"error","source":"syslog","message":"disk almost full"}
路径来自 --file 设置为
LOGLENS_LOG_FILE 那么,是环境变量 ./loglens.jsonl.
格式错误的行(错误的JSON,缺少字段,无法解析的时间戳)
被跳过和计算,从不致命。丢失的文件是一个清理
数据操作错误; status 相反,报告存储状态
与 exists: false, help 根本不需要储存。所有的逻辑
是本地的和确定的-没有网络访问,永远。
安装
npx @reneturcios/loglens status
或者运行容器镜像:
docker run -i ghcr.io/cloudcorprecords/loglens
容器默认为MCP服务器(见下文)。通过CLI
参数将其用作CLI。挂载日志文件并设置
LOGLENS_LOG_FILE 到它的容器内路径。
命令行界面
export LOGLENS_LOG_FILE=/var/log/homelab.jsonl
loglens status
loglens tail --limit 5 --source docker/web
loglens errors --limit 10
loglens search "disk" --since 2026-10-26T00:00:00.000Z
loglens timeline --bucket day
loglens context 2026-10-26T09:16:12.000Z --window-minutes 5
loglens context 12 --limit 3
loglens help
loglens --version
命令打印JSON结果。 tail, errors, search
优先返回记录最新的; context 在文件中返回它们
秩序。 context 接受时间戳(记录在
--window-minutes 它的,或者 --limit 最近的记录
最接近的一个)或一个裸记录索引( --limit 记录
立场的任何一方)。退出代码: 0 成功, 1
当操作失败(包括丢失日志文件)时, 2 用于
使用错误。
MCP服务器
一个箱子能同时满足两个人的需要。这个 mcp subcommand启动stdio MCP
服务器:
npx -y @reneturcios/loglens mcp
MCP客户端配置:
{
"mcpServers": {
"loglens": {
"command": "npx",
"args": ["-y", "@reneturcios/loglens", "mcp"],
"env": { "LOGLENS_LOG_FILE": "/absolute/path/to/logs.jsonl" }
}
}
}
工具
| 工具 | 输入 | 它返回什么 |
|---|---|---|
cortex | action (必需的,其中之一 status, tail, errors, search, timeline, context, help),加上可选 query, source, level, limit, since, until, bucket (hour 或者 day), timestamp, window_minutes | 每个操作:存储摘要、最新匹配记录、每小时/每天的量桶、某个时刻的记录或子集帮助文本。 |
一个有用的第一个电话是 {"action":"status"},然后缩小到
tail, errors, search, timeline,或者 context.
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, real temp JSONL files, no network
npm run dev # run the CLI from source via tsx
许可证
MIT -见 LICENSE.