UNPKG

logs-interceptor

Version:

High-performance, production-ready log interceptor for Node.js applications with Loki integration

37 lines 1.47 kB
import { EventEmitter } from "events"; import { HealthStatus, LoggerInstance, LoggerMetrics, LogLevel, LogsInterceptorConfig } from "./types"; export declare class LogsInterceptor extends EventEmitter implements LoggerInstance { private config; private httpClient; private buffer; private flushTimer; private metrics; private startTime; private isDestroyed; private debugLogger; private originalConsole; constructor(config: LogsInterceptorConfig); private validateAndNormalizeConfig; private setupHttpClient; private setupProcessHandlers; private interceptConsole; private restoreConsole; private shouldLog; private createLogEntry; private scheduleFlush; private retryOperation; private formatForLoki; private flushSync; log(level: LogLevel, message: string, context?: Record<string, unknown>): void; 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; trackEvent(eventName: string, properties?: Record<string, unknown>): void; flush(): Promise<void>; getMetrics(): LoggerMetrics; getHealth(): HealthStatus; destroy(): Promise<void>; } //# sourceMappingURL=logger.d.ts.map