关于 omnibus-instrument-logs
用于为现有项目添加 PostHog 日志采集,或配置 OTLP 日志导出。它指导开发者识别技术栈、设置导出器并补充结构化日志,同时保留现有日志处理器。
主要功能
- 01识别语言与日志配置
- 02配置 PostHog OTLP 导出
- 03集成到现有日志系统
- 04添加结构化日志属性
- 05涵盖多种平台与语言
适用场景
- 01功能变更后添加 PostHog 日志
- 02配置初始日志导出
- 03检查代码中的结构化事件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ posthog/ skills --skill omnibus-instrument-logs安装后在 Claude Code 中输入/omnibus-instrument-logs确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/best-practices.mddatadog.mddebug-logs-mcp.mdgo.mdjava.mdlink-session-replay.mdnextjs.mdnodejs.mdother.mdpython.mdsearch.mdstart-here.mdtroubleshooting.md详细介绍
添加 PostHog 日志采集
使用此技能为新增或修改的代码添加 PostHog 日志采集。在实现功能或审查 PR 后使用它,确保采集到有意义且带有结构化属性的日志事件。如果尚未配置 PostHog 日志导出,此技能也涵盖 OTLP 导出器的初始设置。支持任何平台或语言。
支持的平台:Next.js、Node.js、Python、Go、Java、Datadog,以及通过 OpenTelemetry 支持的任何语言。
说明
按顺序执行以下步骤:
STEP 1:分析代码库并检测平台。
- 检测语言、框架和现有日志设置。
- 查找日志库(winston、pino、logging module、logrus、log4j、serilog 等)。
- 查找锁定文件,以确定包管理器。
- 检查是否已设置 PostHog 日志导出。如果已配置 OTLP 导出器,则跳到 STEP 5,为新增代码添加日志采集。
STEP 2:研究日志采集。(如果已配置 PostHog 日志导出,则跳过。) 2.1. 查找下方与检测到的平台匹配的参考文件——它是 OTLP 导出器配置和与现有日志集成方式的事实来源。现在阅读该文件。 2.2. 如果没有匹配的参考文件,则使用“其他语言”参考文件作为备用方案——其中涵盖通用的 OpenTelemetry 方法。
STEP 3:安装依赖项。(如果已配置 PostHog 日志导出,则跳过。)
- 为检测到的平台安装 OpenTelemetry SDK 和 OTLP 导出器包。
- 不要手动编辑依赖项文件——使用包管理器的安装命令。
- 始终将包安装作为后台任务运行。不要等待安装完成;立即继续其他工作。
STEP 4:配置 OTLP 导出器。(如果已配置 PostHog 日志导出,则跳过。)
- PostHog 日志使用 OpenTelemetry 协议。设置指向 PostHog 接收端点的 OTLP 导出器。
- 按照平台专属参考文件中的准确配置操作。
STEP 5:与现有日志集成。
- 在现有日志记录器旁添加 PostHog 日志导出器。不要替换现有的日志处理器或输出。
- 不要更改现有文件的基本架构。尽量只做有针对性的最小改动。
- 尝试写入文件前,必须立即读取该文件。
STEP 6:添加结构化属性。
- 确保日志包含用于在 PostHog 中筛选和搜索的结构化键值属性。
- 优先使用带有键值属性的结构化日志格式,而非纯文本消息。
STEP 7:设置环境变量。
- 如果已连接 env-file-tools MCP 服务,请依次使用 check_env_keys 和 set_env_values 配置 PostHog API 密钥、主机和 OpenTelemetry 端点。
- 在代码中引用这些环境变量,而不要将值硬编码。
参考文件
references/nextjs.md- Next.js 日志安装 - 文档references/nodejs.md- Node.js 日志安装 - 文档references/python.md- Python 日志安装 - 文档references/go.md- Go 日志安装 - 文档references/java.md- Java 日志安装 - 文档references/datadog.md- Datadog 日志安装 - 文档references/other.md- 其他语言日志安装 - 文档references/start-here.md- 日志入门 - 文档references/search.md- 搜索日志 - 文档references/best-practices.md- 日志记录最佳实践 - 文档references/troubleshooting.md- 日志故障排查 - 文档references/link-session-replay.md- 关联会话回放 - 文档references/debug-logs-mcp.md- 使用 mcp 调试日志 - 文档
每个平台参考文件都包含具体的 OTLP 配置、SDK 设置和集成模式。找到与用户技术栈匹配的参考文件。
核心原则
- 环境变量:始终使用环境变量配置 PostHog 密钥和 OpenTelemetry 端点。切勿将它们硬编码。
- 最小化改动:在现有日志记录之外添加日志导出。不要替换或重构现有的日志记录代码。
- OpenTelemetry:PostHog 日志使用 OpenTelemetry 协议。配置一个指向 PostHog 接收端点的 OTLP 导出器。
- 结构化日志:优先使用带键值属性的结构化日志格式,而非纯文本消息。
评论
支持 Markdown