UNPKG

logs-interceptor

Version:

High-performance, production-ready log interceptor for Node.js applications with Loki integration. Built with Clean Architecture principles. Supports Node.js, Browser, and Node-RED.

41 lines 1.54 kB
import type { LogLevel } from '../value-objects/LogLevel'; /** * Main logger interface * Follows Interface Segregation Principle */ export interface ILogger { debug(message: string, context?: Record<string, unknown>): void; info(message: string, context?: Record<string, unknown>): void; warn(message: string, context?: Record<string, unknown>): void; error(message: string, context?: Record<string, unknown>): void; fatal(message: string, context?: Record<string, unknown>): void; log(level: LogLevel, message: string, context?: Record<string, unknown>): void; trackEvent(eventName: string, properties?: Record<string, unknown>): void; flush(): Promise<void>; getMetrics(): LoggerMetrics; getHealth(): HealthStatus; destroy(): Promise<void>; } export interface LoggerMetrics { readonly logsProcessed: number; readonly logsDropped: number; readonly logsSanitized: number; readonly flushCount: number; readonly errorCount: number; readonly bufferSize: number; readonly avgFlushTime: number; readonly lastFlushTime: number; readonly memoryUsage: number; readonly cpuUsage: number; readonly circuitBreakerTrips: number; } export interface HealthStatus { readonly healthy: boolean; readonly lastSuccessfulFlush: number; readonly consecutiveErrors: number; readonly bufferUtilization: number; readonly uptime: number; readonly memoryUsageMB: number; readonly circuitBreakerState: string; } //# sourceMappingURL=ILogger.d.ts.map