mcpField
L
logs-python

logs-python

github.com/posthogDevelopment76101 installsUpdated today
Repository

About logs-python

A skill for adding PostHog log ingestion to Python applications. It guides OTLP setup, structured logging, privacy-safe event properties, and reliable flushing on exit.

Key features

  1. 01Python SDK setup guidance
  2. 02OTLP exporter configuration
  3. 03Structured logging practices
  4. 04PII-safe event properties
  5. 05Flush events on process exit

Use cases

  1. 01Send Python application logs to PostHog
  2. 02Configure an OpenTelemetry log exporter
  3. 03Avoid putting PII in event properties
  4. 04Ensure CLI logs are sent before exit

MCP support

The references include guidance for debugging logs with MCP.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/posthog/skills --skill logs-python

After installing, type/logs-pythonin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
best-practices.md
debug-logs-mcp.md
link-session-replay.md
python.md
search.md
start-here.md
troubleshooting.md

Details

From the project README

PostHog logs for Python

This skill helps you add PostHog log ingestion to Python applications.

Reference files

  • references/python.md - Python logs installation - docs
  • references/start-here.md - Getting started with logs - docs
  • references/search.md - Search logs - docs
  • references/best-practices.md - Logging best practices - docs
  • references/troubleshooting.md - Logs troubleshooting - docs
  • references/link-session-replay.md - Link session replay - docs
  • references/debug-logs-mcp.md - Debug logs with mcp - docs

Consult the documentation for API details and framework-specific patterns.

Key principles

  • Environment variables: Always use environment variables for PostHog keys and OpenTelemetry endpoints. Never hardcode them.
  • Minimal changes: Add log export alongside existing logging. Don't replace or restructure existing logging code.
  • OpenTelemetry: PostHog logs use the OpenTelemetry protocol. Configure an OTLP exporter pointed at PostHog's ingest endpoint.
  • Structured logging: Prefer structured log formats with key-value properties over plain text messages.

Framework guidelines

  • Remember that source code is available in the venv/site-packages directory
  • posthog is the Python SDK package name
  • Install dependencies with pip install posthog or pip install -r requirements.txt and do NOT use unquoted version specifiers like >= directly in shell commands
  • In CLIs and scripts: MUST call posthog.shutdown() before exit or all events are lost
  • Always use the Posthog() class constructor (instance-based API) instead of module-level posthog.api_key config
  • Always include enable_exception_autocapture=True in the Posthog() constructor to automatically track exceptions
  • NEVER send PII in capture() event properties — no emails, full names, phone numbers, physical addresses, IP addresses, or user-generated content
  • PII belongs in identify() person properties, NOT in capture() event properties. Safe event properties are metadata like message_length, form_type, boolean flags.
  • Register posthog_client.shutdown with atexit.register() to ensure all events are flushed on exit
  • The Python SDK has NO identify() method — use posthog_client.set(distinct_id=user_id, properties={...}) to set person properties, or use identify_context(user_id) within a context

Comments

Markdown supported