跳转到主要内容

美化打印尾部JSONL日志

项目描述

tail-jsonl

尾JSONL日志

背景

我想找到一个工具,它可以

  1. 以最少的配置将JSONL日志流转换为可读的 logfmt-样式的输出
  2. 在单独的一行上显示异常

我调查了许多替代方案,例如:humanloglnavgoaccessangle-grinderjqtextualog等,但没有一个既能干净地格式化JSONL数据又能显示异常。

.github/assets/demo.gif

安装

使用pipx安装

pipx install tail-jsonl

用法

从任何文件、kubernetes(例如 stern)、Docker等中管道JSONL输出。

# Example piping input in shell
echo '{"message": "message", "timestamp": "2023-01-01T01:01:01.0123456Z", "level": "debug", "data": true, "more-data": [null, true, -123.123]}' | tail-jsonl
cat tests/data/logs.jsonl | tail-jsonl

# Optionally, pre-filter or format with jq, grep, awk, or other tools
cat tests/data/logs.jsonl | jq '.record' --compact-output | tail-jsonl

# An example stern command (also consider -o=extjson)
stern envvars --context staging --container gateway --since="60m" --output raw | tail-jsonl

# Or with Docker Compose (note that awk, cut, and grep all buffer. For awk, add '; system("")')
docker compose logs --follow | awk 'match($0, / \| \{.+/) { print substr($0, RSTART+3, RLENGTH); system("") }' | tail-jsonl

配置

可选地,指定一个自定义配置文件的路径。有关示例配置文件,请参阅: tests/config_default.toml

echo '...' | tail-jsonl --config-path=~/.tail-jsonl.toml

项目状态

请参阅 开放问题 和/或 CODE_TAG_SUMMARY。有关发布历史,请参阅 CHANGELOG

贡献

我们欢迎拉取请求!为了使您的拉取请求顺利接受,我们建议您首先打开GitHub问题来讨论您的想法。有关如何开始代码库的资源,请参阅以下文档

行为准则

我们遵循贡献者公约行为准则

开源状态

我们尽量合理地满足来自开源洞察的“OpenSSF评分卡”的大部分内容。

负责任地披露

如果您有任何安全问题需要报告,请私下联系项目维护者。您可以通过dev.act.kyle@gmail.com联系我们。

许可证

许可证

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源分发

tail_jsonl-1.2.5.tar.gz (5.6 kB 查看散列)

上传时间

构建分发

tail_jsonl-1.2.5-py3-none-any.whl (7.5 kB 查看散列)

上传时间 Python 3

由以下机构支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面