/** * Console Elimination Tests - RED Phase * * This test file documents all console.* usage throughout the codebase that should * be replaced with the unified Logger abstraction from @dotdo/postgres-shared. * * ## Problem Statement * * Direct console.* calls throughout the codebase create several issues: * - No log level filtering (DEBUG messages appear in production) * - No structured logging (hard to parse programmatically) * - No pluggable destinations (can't redirect to file/service) * - Inconsistent formatting across packages * - Difficult to test (no way to capture/verify logs) * * ## Current Console Usage (found via grep) * * ### packages/electric/src/ (10 occurrences) * - streams/consumer.ts:247 - console.error('[StreamConsumer] Error:', err) * - streams/consumer.ts:253 - console.log('[StreamConsumer]', ...args) * - streams/stream.ts:314 - console.log('[DurableStream]', ...args) * - shapes/client.ts:362 - console.log('[ShapeClient]', ...args) * - sessions/session.ts:486 - console.log('[DurableSession]', ...args) * - sync/conflict-resolver.ts:318 - console.log('[ConflictResolver]', ...args) * - sync/offline-queue.ts:324 - console.log('[OfflineQueue]', ...args) * - sync/engine.ts:677 - console.log('[SyncEngine]', ...args) * - sync/cdc-bridge.ts:1293 - console.log('[CDCElectricBridge]', ...args) * - offline/manager.ts:552 - console.log('[OfflineManager]', ...args) * * ### packages/mongo.do/src/ (1 occurrence) * - transport/rpc.ts:697 - console.error('Failed to parse RPC message:', data) * * ### packages/mongodb/src/ (1 occurrence) * - capnweb-transport.ts:643 - console.error('Failed to parse RPC message:', data) * * ### packages/pg-geo/src/ (1 occurrence) * - geo-do.ts:376 - console.error('[Cap\'n Web RPC Error]', error.name, error.message) * * ### packages/pg-protocol/src/ (3 occurrences) * - serializer.ts:91-95 - Multiple console.error calls for parameter name validation * * ### packages/pg-queue/src/ (1 occurrence) * - queue-do.ts:631 - console.error('[QueueDO RPC Error]', error.message) * * ### packages/pg-search/src/ (1 occurrence) * - rpc.ts:733 - console.error('Failed to parse RPC response:', e) * * ### packages/pg-lake/src/ (4 occurrences) * - catalog/catalog-do-rpc.ts:969 - console.error('[Cap\'n Web RPC Error]', error) * - query/pg-lake-engine.ts:1205 - console.error(`[PGLakeEngine] Failed to parse Parquet file ${key}:`, parquetError) * - query/pg-lake-engine.ts:1211 - console.error(`[PGLakeEngine] Failed to scan file ${key}:`, error) * - shard/do.ts:1766-1884 - Multiple console.error calls for alarm/shutdown errors * * ### packages/postgres.do/src/ (18+ occurrences) * - middleware.ts:430-432 - Conditional console.error/console.warn * - cdc/logger.ts:122-125 - console.warn/console.error in default handler * - cdc/stream-manager.ts:352,1057,1274,1295,1358 - Multiple console.error/console.warn * - transport/cdc-ws.ts:494 - console.error('Failed to parse CDC message:', data) * - transport/rpc.ts:573 - console.error('Failed to parse RPC message:', data) * - retention.ts:1653,1664 - console.error for policy execution failures * - extensions.ts:609,622 - console.log/console.error for extension loading * - cli/output.ts:205-295 - Multiple console.* calls (expected for CLI) * * ## Unified Logger Features Required * * The Logger from @dotdo/postgres-shared provides: * 1. Log level filtering (DEBUG, INFO, WARN, ERROR, SILENT) * 2. Structured logging with arbitrary metadata * 3. Pluggable output destinations (handlers) * 4. Child loggers with scoped context * 5. Event capture for testing/debugging * 6. Cloudflare Workers compatibility * * @module console-elimination.test */ export {}; //# sourceMappingURL=console-elimination.test.d.ts.map