/** * JSON audit logging system */ import type { Logger, AuditLogEntry, LogLevel, RuntimeContext } from '../types/index.js'; export interface LoggerConfig { logDir: string; maxFileSize?: number; maxFiles?: number; level?: LogLevel; console?: boolean; } export declare class JsonLogger implements Logger { private readonly config; private readonly logFilePath; private writeStream?; private context?; private pendingWrites; private closed; constructor(config: LoggerConfig); /** * Set runtime context for log entries */ setContext(context: RuntimeContext): void; /** * Log debug message */ debug(message: string, meta?: any): void; /** * Log info message */ info(message: string, meta?: any): void; /** * Log warning message */ warn(message: string, meta?: any): void; /** * Log error message */ error(message: string, meta?: any): void; /** * Log a step in the build process */ step(step: string, message: string, meta?: any): void; /** * Log build start */ buildStart(revision: string, branch: string): void; /** * Log build completion */ buildComplete(success: boolean, duration: number, meta?: any): void; /** * Log build error */ buildError(step: string, error: string | Error, meta?: any): void; /** * Write log entry */ private writeLog; private doWriteLog; /** * Log to console with appropriate formatting */ private logToConsole; /** * Check if we should log at this level */ private shouldLog; /** * Rotate logs if file size exceeds limit */ private rotateLogsIfNeeded; /** * Rotate log files */ private rotateLogs; /** * Get recent log entries */ getRecentLogs(count?: number): Promise; /** * Get logs by revision */ getLogsByRevision(revision: string): Promise; /** * Get logs by time range */ getLogsByTimeRange(startTime: number, endTime: number): Promise; /** * Clean up old log files */ cleanup(daysToKeep?: number): Promise; /** * Close the logger and cleanup resources */ close(): Promise; } /** * Create a logger instance */ export declare function createLogger(config: LoggerConfig): Logger; //# sourceMappingURL=logger.d.ts.map