UNPKG

@dharshansr/gitgenius

Version:

AI-powered commit message generator with enhanced features

89 lines 2.23 kB
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'trace'; export interface LogEntry { timestamp: string; level: LogLevel; category: string; message: string; metadata?: any; stack?: string; } export interface LoggerConfig { level: LogLevel; enableConsole: boolean; enableFile: boolean; logDir: string; maxFileSize: number; maxFiles: number; prettyPrint: boolean; } export declare class Logger { private static instance; private config; private logFilePath; private readonly levels; private constructor(); static getInstance(): Logger; /** * Get log level from environment variables */ private getLogLevelFromEnv; /** * Check if logs should be rotated */ private rotateLogsIfNeeded; /** * Rotate log files */ private rotateLogs; /** * Check if a log level should be logged */ private shouldLog; /** * Write log entry to file */ private writeToFile; /** * Format log entry for console output */ private formatForConsole; /** * Core log method */ private log; /** * Public logging methods */ trace(category: string, message: string, metadata?: any): void; debug(category: string, message: string, metadata?: any): void; info(category: string, message: string, metadata?: any): void; warn(category: string, message: string, metadata?: any): void; error(category: string, message: string, error?: Error, metadata?: any): void; /** * Configuration methods */ setLogLevel(level: LogLevel): void; getLogLevel(): LogLevel; enableFileLogging(enable: boolean): void; enableConsoleLogging(enable: boolean): void; getLogFilePath(): string; getLogDir(): string; /** * Get recent logs from file */ getRecentLogs(lines?: number): LogEntry[]; /** * Clear all logs */ clearLogs(): void; /** * Get log statistics */ getLogStats(): { totalLogs: number; byLevel: Record<string, number>; fileSize: number; }; } export declare const logger: Logger; //# sourceMappingURL=Logger.d.ts.map