Skip to content

feat: adopt pino for structured JSON logging#547

Open
drifterza wants to merge 1 commit into
tale:mainfrom
drifterza:feat/issue-279-pino-logger
Open

feat: adopt pino for structured JSON logging#547
drifterza wants to merge 1 commit into
tale:mainfrom
drifterza:feat/issue-279-pino-logger

Conversation

@drifterza
Copy link
Copy Markdown
Contributor

@drifterza drifterza commented May 3, 2026

Closes #279

Description

Switches our internal logger implementation from a custom one-off module to use Pino for structured JSON observability, which allows for easier integration with ingestion endpoints like Datadog or ELK.

Acceptance Criteria

  • Standardizes logging context through a heavily robust, highly performant structured logger
  • Correctly segregates level payloads (info, warn, error, debug) with associated log metadata (e.g., categories)
  • Retains backwards compatibility with HEADPLANE_DEBUG_LOG directives to suppress verbose logging when disabled locally without throwing errors
  • Extends the Vitest mock ecosystem using standard stdout interceptors to adequately snapshot outputs natively

@drifterza drifterza requested a review from tale as a code owner May 3, 2026 21:29
@drifterza drifterza force-pushed the feat/issue-279-pino-logger branch 3 times, most recently from 295138e to dca8aba Compare May 3, 2026 22:07
Switches internal framework logging engine entirely to Pino for scalable ELK stack aggregations natively while rewriting corresponding unit tests over explicitly via process.stdout listeners logic vs standard vi mock injections. Includes bumped deterministic Nix derivation hash for dependency resolution.
@drifterza drifterza force-pushed the feat/issue-279-pino-logger branch from dca8aba to 2dfd029 Compare May 3, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Structured JSON Logging for Headplane

2 participants