UNPKG

ixp-server

Version:

A comprehensive SDK for building Intent Exchange Protocol (IXP) servers with ease

95 lines 2.31 kB
/** * Logger utility for structured logging */ export declare class Logger { private level; private format; private context; private readonly levels; constructor(config?: { level?: 'error' | 'warn' | 'info' | 'debug'; format?: 'json' | 'text'; context?: Record<string, any>; }); /** * Log error message */ error(message: string, meta?: any): void; /** * Log warning message */ warn(message: string, meta?: any): void; /** * Log info message */ info(message: string, meta?: any): void; /** * Log debug message */ debug(message: string, meta?: any): void; /** * Core logging method */ private log; /** * Format metadata for text output */ private formatMeta; /** * Output log message to appropriate stream */ private output; /** * Create child logger with additional context */ child(context: Record<string, any>): Logger; /** * Set log level */ setLevel(level: 'error' | 'warn' | 'info' | 'debug'): void; /** * Set log format */ setFormat(format: 'json' | 'text'): void; /** * Add context to all future log messages */ addContext(context: Record<string, any>): void; /** * Clear all context */ clearContext(): void; /** * Get current log level */ getLevel(): string; /** * Check if level is enabled */ isLevelEnabled(level: 'error' | 'warn' | 'info' | 'debug'): boolean; /** * Log with custom level and additional options */ logWithLevel(level: 'error' | 'warn' | 'info' | 'debug', message: string, meta?: any): void; /** * Time a function execution */ time<T>(label: string, fn: () => Promise<T>): Promise<T>; /** * Time a synchronous function execution */ timeSync<T>(label: string, fn: () => T): T; } /** * Create a default logger instance */ export declare const defaultLogger: Logger; /** * Create logger with specific configuration */ export declare function createLogger(config?: { level?: 'error' | 'warn' | 'info' | 'debug'; format?: 'json' | 'text'; context?: Record<string, any>; }): Logger; //# sourceMappingURL=logger.d.ts.map