snes-disassembler
Version:
A Super Nintendo (SNES) ROM disassembler for 65816 assembly
39 lines • 2.1 kB
TypeScript
/**
* Central Logger Configuration for SNES Disassembler
*
* Provides a robust logging system using Pino with:
* - Environment-specific configuration
* - Structured logging with context
* - Performance tracking
* - File and console output
* - Log rotation support
*/
import pino from 'pino';
export declare class Logger {
private logger;
private component;
private performanceTrackers;
constructor(component: string, parentLogger?: pino.Logger);
fatal(message: string, data?: any): void;
error(message: string, error?: Error | Record<string, unknown>): void;
warn(message: string, data?: Record<string, unknown>): void;
info(message: string, data?: Record<string, unknown>): void;
debug(message: string, data?: Record<string, unknown>): void;
trace(message: string, data?: Record<string, unknown>): void;
startPerformanceTracking(operation: string, metadata?: Record<string, any>): string;
endPerformanceTracking(trackingId: string, additionalData?: any): number | null;
logROMInfo(romPath: string, size: number, checksum?: string): void;
logDisassemblyProgress(address: number, instruction: string, progress?: number): void;
logAnalysisResult(analysisType: string, result: Record<string, unknown>): void;
logAudioProcessing(operation: string, sampleRate?: number, channels?: number, duration?: number): void;
logBRRDecoding(blockCount: number, sampleCount: number, compressionRatio?: number): void;
logErrorWithContext(error: Error, context: string, additionalData?: any): void;
logMemoryUsage(operation?: string): void;
child(childComponent: string): Logger;
getPinoLogger(): pino.Logger;
}
export declare function createLogger(component: string): Logger;
export declare function logApplicationStartup(version?: string, config?: any): void;
export declare function logApplicationShutdown(exitCode?: number): void;
export declare function measurePerformance(logger: Logger, operation: string): (target: any, propertyName: string, descriptor: PropertyDescriptor) => void;
//# sourceMappingURL=logger.d.ts.map