supamend
Version:
Pluggable DevSecOps Security Scanner with 10+ scanners and multiple reporting channels
61 lines • 1.69 kB
TypeScript
export interface LogContext {
scanner?: string;
reporter?: string;
operation?: string;
file?: string;
line?: number;
[key: string]: any;
}
export interface ErrorDetails {
message: string;
stack?: string;
code?: string;
cause?: Error;
context?: LogContext;
}
export declare class Logger {
private verbose;
private logLevel;
private errorCount;
private warningCount;
private sanitizeInput;
setVerbose(verbose: boolean): void;
setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void;
info(message: string, context?: LogContext): void;
success(message: string, context?: LogContext): void;
warn(message: string, context?: LogContext): void;
error(message: string, error?: Error | ErrorDetails, context?: LogContext): void;
debug(message: string, context?: LogContext): void;
/**
* Log structured error details
*/
private logErrorDetails;
/**
* Format context for logging
*/
private formatContext;
/**
* Check if message should be logged based on current log level
*/
private shouldLog;
/**
* Get error statistics
*/
getErrorStats(): {
errors: number;
warnings: number;
};
/**
* Reset error counters
*/
resetCounters(): void;
/**
* Log a recoverable error with recovery suggestion
*/
errorWithRecovery(message: string, error: Error, recoverySuggestion: string, context?: LogContext): void;
/**
* Log a retry attempt
*/
retry(operation: string, attempt: number, maxAttempts: number, context?: LogContext): void;
}
//# sourceMappingURL=logger.d.ts.map