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
TypeScript
/**
* 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