/** * Simple Logger - Temporary implementation * TODO: Replace with @plyaz/logger post-MVP * * This is a minimal console-based logger for MVP. * Later we'll swap this with the full @plyaz/logger package. */ import type { LoggerInterface, LoggerMethodTypes as LogLevel } from '@plyaz/types'; import { StorageLogger } from '@plyaz/logger'; export { StorageLogger }; /** * Console-based logger implementation * Mimics @plyaz/logger interface for easy swap later */ export declare class ConsoleLogger implements LoggerInterface { private context?; private minLevel; constructor(context?: string | undefined, minLevel?: LogLevel); private shouldLog; private formatMessage; debug(message: string, meta?: Record): void; info(message: string, meta?: Record): void; warn(message: string, meta?: Record): void; error(message: string, meta?: Record): void; fatal(message: string, meta?: Record): void; group(label?: string): void; groupCollapsed(label?: string): void; groupEnd(): void; } /** * Create a logger instance (synchronous) * * @param options - Logger configuration * @param options.service - Service/module name * @param options.level - Minimum log level * @returns ConsoleLogger instance * * @example * ```ts * // Simple console logger * const logger = createLogger({ service: 'CloudflareR2Adapter' }); * logger.info('File uploaded', { fileId: '123' }); * ``` */ export declare function createLogger(options?: { service?: string; level?: LogLevel; }): LoggerInterface; /** * Create a production logger instance * * Uses @plyaz/logger's StorageLogger with structured logging, * PII redaction, and correlation IDs. * * @param options - Logger configuration * @param options.service - Service/module name * @param options.level - Minimum log level * @returns StorageLogger instance * @throws {StoragePackageError} If initialization fails * * @example * ```ts * // Production logger with structured logging * const logger = createProductionLogger({ * service: 'CloudflareR2Adapter', * level: 'info' * }); * * // Use specialized methods * logger.adapterInfo('File uploaded', { * adapter: 'cloudflare-r2', * fileId: '123', * filename: 'profile.jpg', * size: 2048576 * }); * ``` */ export declare function createProductionLogger(options?: { service?: string; level?: LogLevel; }): LoggerInterface;