/** * Centralized Logging System * * Replaces scattered console.log usage with structured, configurable logging. * Integrates with the centralized Config system for environment-aware behavior. */ export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal"; export type LogContext = Record; export interface LogEntry { readonly timestamp: string; readonly level: LogLevel; readonly message: string; readonly context?: LogContext | undefined; readonly component?: string | undefined; readonly requestId?: string | undefined; readonly siteId?: string | undefined; readonly userId?: string | undefined; } export interface LoggerOptions { readonly component?: string | undefined; readonly context?: LogContext | undefined; readonly siteId?: string | undefined; readonly requestId?: string | undefined; } /** * Main Logger Class */ export declare class Logger { private readonly options; constructor(options?: LoggerOptions); /** * Create child logger with additional context */ child(additionalOptions: LoggerOptions): Logger; /** * Log at specific level */ log(level: LogLevel, message: string, context?: LogContext): void; trace(message: string, context?: LogContext): void; debug(message: string, context?: LogContext): void; info(message: string, context?: LogContext): void; warn(message: string, context?: LogContext): void; error(message: string, context?: LogContext): void; error(error: Error, context?: LogContext): void; fatal(message: string, context?: LogContext): void; fatal(error: Error, context?: LogContext): void; /** * Time a function execution */ time(message: string, fn: () => T): T; time(message: string, fn: () => Promise): Promise; } /** * Default logger instance */ export declare const logger: Logger; /** * Create component-specific logger */ export declare function createLogger(component: string, options?: Omit): Logger; /** * Create site-specific logger */ export declare function createSiteLogger(siteId: string, component?: string | undefined): Logger; /** * Create request-specific logger */ export declare function createRequestLogger(requestId: string, component?: string | undefined, siteId?: string | undefined): Logger; /** * Logger factory for common scenarios */ export declare const LoggerFactory: { /** * Create logger for WordPress API operations */ api: (siteId?: string | undefined) => Logger; /** * Create logger for cache operations */ cache: (siteId?: string | undefined) => Logger; /** * Create logger for tool operations */ tool: (toolName: string, siteId?: string | undefined) => Logger; /** * Create logger for authentication */ auth: (siteId?: string | undefined) => Logger; /** * Create logger for configuration */ config: () => Logger; /** * Create logger for security operations */ security: () => Logger; /** * Create logger for performance monitoring */ performance: () => Logger; /** * Create logger for server operations */ server: () => Logger; /** * Create logger for client-layer operations */ client: (component?: string | undefined, siteId?: string | undefined) => Logger; }; /** * Performance measurement utility * Re-exported here so client code can import from a single module. */ export interface PerformanceTimer { end(): number; } export declare const startTimer: () => PerformanceTimer; //# sourceMappingURL=logger.d.ts.map