用途:为新增或变更的代码接入 PostHog 日志捕获,确保有意义的日志事件带上结构化属性;适用于实现功能后或评审 PR 后。若尚未配置 PostHog 日志导出,也涵盖初始 OTLP 导出器搭建。支持 Next.js、Node.js、Python、Go、Java、Datadog、Android、React Native、iOS,以及通过 OpenTelemetry 接入的任意语言。
使用方式(按顺序执行):1)分析代码库并检测平台,查看依赖与项目文件(package.json、Podfile、Package.swift、requirements.txt、go.mod、pom.xml 等)、日志库与锁文件以确定包管理器,并检查是否已配置 PostHog 日志导出;若已配置则跳到第 5 步。2)研究日志捕获,读取与平台匹配的参考文件,无匹配时回退到“Other Languages”。3)安装依赖:使用包管理器安装 OpenTelemetry SDK 与 OTLP 导出器,不要手改依赖文件。4)配置 OTLP 导出器指向 PostHog ingest 端点;Android、React Native、iOS 等有 SDK 原生日志支持的平台改用平台参考中的原生日志 API。5)与现有日志集成:在既有日志旁增加 PostHog 日志导出,不替换原有 handler 或输出,也不改动文件基本结构。6)添加结构化键值属性,便于在 PostHog 中过滤和搜索。7)设置环境变量:已存在有效值则跳过;缺少项目令牌时可用 PostHog MCP 的 projects-get 获取 api_token,多个项目需询问用户,未连接或未认证则向用户索取。Host 按 region 字段映射:US 为 https://us.i.posthog.com,EU 为 https://eu.i.posthog.com,无法确定时询问用户,不要默认美国。OpenTelemetry 端点使用 https://us.i.posthog.com/v1 或 https://eu.i.posthog.com/v1。代码中引用环境变量,不要硬编码。
关键原则:环境变量管理密钥与端点;改动最小化;PostHog 日志基于 OpenTelemetry 协议;优先结构化日志。
限制与缺失:资料未说明收费、价格、性能效果与完整配置示例细节,具体 OTLP 配置与 SDK 设置需查阅对应平台参考文件。