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.

48 lines 1.63 kB
/** * Presentation: LoggerFactory * Factory for creating Logger instances with dependency injection */ import { Logger } from './Logger'; import { LogLevel } from '../domain/entities/LogEntry'; export interface LoggerConfig { readonly transport: { readonly url: string; readonly tenantId: string; readonly authToken?: string; readonly timeout?: number; readonly maxRetries?: number; readonly retryDelay?: number; readonly compression?: boolean; readonly compressionLevel?: number; }; readonly appName: string; readonly version?: string; readonly environment?: string; readonly labels?: Record<string, string>; readonly dynamicLabels?: Record<string, () => string | number>; readonly buffer?: { readonly maxSize?: number; readonly flushInterval?: number; readonly maxAge?: number; readonly autoFlush?: boolean; readonly maxMemoryMB?: number; }; readonly filter?: { readonly levels?: readonly LogLevel[]; readonly patterns?: readonly RegExp[]; readonly samplingRate?: number; readonly maxMessageLength?: number; readonly sanitize?: boolean; readonly sensitivePatterns?: readonly RegExp[]; }; readonly circuitBreaker?: { readonly enabled?: boolean; readonly failureThreshold?: number; readonly resetTimeout?: number; readonly halfOpenRequests?: number; }; } export declare class LoggerFactory { static create(config: LoggerConfig): Logger; } //# sourceMappingURL=LoggerFactory.d.ts.map