// ABOUTME: Structured logging module using pino for JSON output to stdout. // ABOUTME: Configurable via LOG_LEVEL env var, outputs parseable logs for aggregators. import pino from "pino"; /** * PhaseFlow logger configured per observability spec. * * Log levels: error, warn, info, debug * Output: JSON to stdout * Configuration: LOG_LEVEL env var (defaults to "info") * * Usage: * logger.info({ userId: "123" }, "User logged in"); * logger.error({ err: error, userId: "123" }, "Operation failed"); */ export const logger = pino({ level: process.env.LOG_LEVEL || "info", formatters: { level: (label) => ({ level: label }), }, timestamp: () => `,"timestamp":"${new Date().toISOString()}"`, messageKey: "message", }); export type Logger = typeof logger;