UNPKG

endpoint-sentinel

Version:

User-friendly security scanner with interactive setup that scales from beginner to expert

81 lines 2.23 kB
/** * Enterprise Logging System * Provides structured logging with audit capabilities */ import { Logger, AuditEvent } from '../types/scanner.js'; export interface LoggerConfig { level?: 'error' | 'warn' | 'info' | 'debug'; auditEnabled?: boolean; outputFile?: string; format?: 'json' | 'text'; } /** * Production-ready logger implementation */ export declare class SecurityLogger implements Logger { private winstonLogger; private auditLogger; private config; constructor(config?: LoggerConfig); /** * Creates the main application logger */ private createMainLogger; /** * Creates dedicated audit logger for compliance */ private createAuditLogger; /** * Log info message */ info(message: string, meta?: Record<string, unknown>): void; /** * Log warning message */ warn(message: string, meta?: Record<string, unknown>): void; /** * Log error message with optional error object */ error(message: string, error?: Error, meta?: Record<string, unknown>): void; /** * Log debug message */ debug(message: string, meta?: Record<string, unknown>): void; /** * Log audit event for compliance and security monitoring */ audit(event: AuditEvent): void; /** * Determines audit severity based on event type */ private getAuditSeverity; /** * Creates a child logger with additional context */ child(context: Record<string, unknown>): SecurityLogger; /** * Flushes all pending log writes */ flush(): Promise<void>; /** * Changes log level dynamically */ setLevel(level: 'error' | 'warn' | 'info' | 'debug'): void; /** * Gets current log level */ getLevel(): string; } /** * Logger factory for creating configured logger instances */ export declare function createLogger(config?: LoggerConfig): Logger; /** * Creates a logger for testing with minimal output */ export declare function createTestLogger(): Logger; /** * Creates a logger optimized for production use */ export declare function createProductionLogger(outputFile?: string): Logger; //# sourceMappingURL=logger.d.ts.map