UNPKG

strogger

Version:

📊 A modern structured logging library with functional programming, duck-typing, and comprehensive third-party integrations

39 lines • 1.18 kB
import type { LogEntry, Transport } from "../types"; export interface BatchConfig { maxSize: number; maxWaitTime: number; maxBatchSize: number; } export interface BatchState { logs: LogEntry[]; currentSize: number; lastFlush: number; flushTimer?: ReturnType<typeof setTimeout> | undefined; } export interface BatchedTransport extends Transport { flush: () => Promise<void>; getStats: () => BatchStats; } export interface BatchStats { totalLogs: number; totalBatches: number; averageBatchSize: number; lastFlushTime: number; pendingLogs: number; [key: string]: unknown; } /** * Creates a batched transport wrapper around an existing transport */ export declare const createBatchedTransport: (transport: Transport, config?: BatchConfig) => BatchedTransport; /** * Creates a multi-transport batched logger */ export declare const createBatchedLogger: (transports: Transport[], config?: BatchConfig) => { log: (entry: LogEntry) => Promise<void>; setLevel: (level: number) => void; getLevel: () => number; flush: () => Promise<void>; getStats: () => BatchStats[]; }; //# sourceMappingURL=batching.d.ts.map