Vibekit

Structured Logging

Log levels, scoped loggers, and handling sensitive data.

Import logger or createScopedLogger from logs. The package uses Consola and supports LOG_LEVEL=silent|error|warn|info|debug|trace. CI, AGENT_MODE=true and non-interactive output disable colors and use compact formatting.

import { createScopedLogger } from "logs";

const logger = createScopedLogger("billing");
logger.info("Webhook processed", { eventId: "example-event" });

The tRPC logger records the operation, procedure path, elapsed time and metadata; internal errors also include error details. It does not log all request inputs or caller IDs by default.

There is no general-purpose secret-redaction filter in the logger. Keep passwords, tokens, request headers and private payloads out of log arguments. The local console mail trap intentionally exposes message content for testing and must be treated as private local test data.

See Development Workflow.