/** * Structured Logger for Network-AI * * Replaces raw console.log/warn/error with a leveled, filterable logger. * Users can set the log level, provide a custom transport, or disable * logging entirely. All log entries include a timestamp, level, module * source, and structured data. * * @module Logger * @version 1.0.0 * @license MIT */ /** Log severity levels (numeric for comparison) */ export declare enum LogLevel { DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3, SILENT = 4 } /** A structured log entry */ export interface LogEntry { timestamp: string; level: keyof typeof LogLevel; module: string; message: string; data?: Record; } /** * Custom log transport function. Receives a structured log entry. * Return value is ignored. * * @example * // Send logs to an external service * const transport: LogTransport = (entry) => { * fetch('/logs', { method: 'POST', body: JSON.stringify(entry) }); * }; */ export type LogTransport = (entry: LogEntry) => void; /** Logger configuration */ export interface LoggerConfig { /** Minimum level to emit. Default: LogLevel.WARN */ level: LogLevel; /** Custom transport. Default: console-based output */ transport?: LogTransport; /** If true, suppresses all output (equivalent to LogLevel.SILENT) */ silent: boolean; } /** * Structured logger with level filtering, module tagging, and pluggable transports. * * @example * ```typescript * import { Logger, LogLevel } from 'network-ai'; * * // Set global log level * Logger.setLevel(LogLevel.DEBUG); * * // Create a module-scoped logger * const log = Logger.create('MyAdapter'); * log.info('Adapter initialized', { agents: 3 }); * log.warn('Slow response', { latencyMs: 5000 }); * log.error('Connection failed', { host: 'api.example.com' }); * * // Silence all logs * Logger.setLevel(LogLevel.SILENT); * * // Use a custom transport (e.g., send to monitoring service) * Logger.setTransport((entry) => { * myMonitoringService.log(entry); * }); * ``` */ export declare class Logger { private static config; private module; private constructor(); /** Set the minimum log level globally */ static setLevel(level: LogLevel): void; /** Get the current log level */ static getLevel(): LogLevel; /** Set a custom transport for all loggers */ static setTransport(transport: LogTransport): void; /** Reset to default console transport */ static resetTransport(): void; /** Silence all logging */ static silence(): void; /** Re-enable logging */ static unsilence(): void; /** Create a logger scoped to a module name */ static create(module: string): Logger; /** Log at DEBUG level */ debug(message: string, data?: Record): void; /** Log at INFO level */ info(message: string, data?: Record): void; /** Log at WARN level */ warn(message: string, data?: Record): void; /** Log at ERROR level */ error(message: string, data?: Record): void; private emit; } //# sourceMappingURL=logger.d.ts.map