UNPKG

lever-ui-logger

Version:

Zero-dependency logging library with optional EventBus integration. Built-in PII redaction, multiple transports, and comprehensive logging capabilities.

67 lines 2.38 kB
/** * Core Transport System for Lever UI Logger * * Minimal, focused transport implementations for directing log output to * essential destinations. Advanced features like WebSocket streaming, IndexedDB * persistence, and worker processing are handled by external services that * integrate via EventBus subscription. * * Core Transports: * - ConsoleTransport: Browser console and Node.js stdout/stderr * - EventBusTransport: Integration point for external services * - SendBeaconTransport: Browser sendBeacon API for reliable delivery * * Features: * - Middleware pipeline for data processing * - Compression support (gzip, deflate, brotli) * - Level filtering and sampling * - Rate limiting and batching * - Metadata enrichment * - Tree-shakable exports for optimal bundle size * * @example * ```typescript * import { * ConsoleTransport, * EventBusTransport, * SendBeaconTransport, * TransportMiddleware, * filterByLevel, * compressionMiddleware * } from '@nuanced-labs/lever-ui-logger'; * * // Basic console transport * const console = new ConsoleTransport({ * level: 'info', * format: 'pretty' * }); * * // EventBus integration for external services * const eventBus = new EventBusTransport({ * eventBus: myEventBus, * topic: 'logs' * }); * * // Network transport with compression * const beacon = new SendBeaconTransport({ * endpoint: 'https://logs.example.com/collect', * middleware: [ * filterByLevel('warn'), * compressionMiddleware({ format: 'gzip' }) * ] * }); * ``` */ export * from './transport-interface.js'; export * from './console-transport.js'; export * from './sendbeacon-transport.js'; export * from './eventbus-transport.js'; export * from './error-sanitizer.js'; export * from './secure-token-handler.js'; export { TransportMiddleware, filterByLevel, transformEvent, rateLimit, sample, addMetadata, enrichErrors } from './transport-middleware.js'; export type { MiddlewareContext, MiddlewareFunction } from './transport-middleware.js'; export { isCompressionSupported, compressString, compressionMiddleware, batchCompressionMiddleware } from './compression.js'; export type { CompressionOptions, CompressionFormat } from './compression.js'; /** Current version of the transports module */ export declare const TRANSPORTS_VERSION = "0.4.0"; //# sourceMappingURL=index.d.ts.map