logs-interceptor
Version:
High-performance, production-ready log interceptor for Node.js applications with Loki integration
37 lines • 1.47 kB
TypeScript
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