Skip to content

Structured Logging #8

@prosdev

Description

@prosdev

Phase: 6 - Observability
Estimated Effort: 2 hours
Tasks: Task 12 from specs/core-pipeline/tasks.md

Checklist

Task 12: Add Structured Logging (2 hours)

  • Configure structlog (logging/logger.py)
    • JSON format for production
    • Human-readable for dev
    • Context processors
  • Add logging to Processor (event received, adaptation)
  • Add logging to Buffer (flush operations, buffer sizes)
  • Add logging to Stores (write operations, errors)
  • Add logging to API endpoints (requests, responses)
  • Ensure no sensitive data in logs
  • Write unit tests

Acceptance Criteria

  • structlog configured correctly
  • Logs are JSON in production
  • Logs are human-readable in dev
  • Key operations logged (counts, latencies)
  • No sensitive data in logs
  • Tests pass

Files to Create/Update

src/eventkit/logging/logger.py (new)
src/eventkit/processing/processor.py (updated)
src/eventkit/processing/buffer.py (updated)
src/eventkit/stores/firestore.py (updated)
src/eventkit/api/collect.py (updated)
tests/unit/logging/test_logger.py (new)

Dependencies: Issue #7
User Stories: All (observability)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions