UNPKG

@obsidize/logger

Version:
38 lines (37 loc) 1.64 kB
import { EventEmitter } from './event-emitter'; import { LogEventGuard } from './log-event-guard'; import { Logger } from './logger'; import type { LogEventConsumer, LogEventEmitterSource, LogEventFilterPredicate, LogEventInterceptor, LogEventLike, LogEventProducer, Maybe } from './types'; export interface LogEventTransportConfig { /** * A list of sources to intercept log events from. */ inputs: Maybe<LogEventProducer>[]; /** * A list of destinations to trigger side-effects * when the transport receives an event. */ outputs: Maybe<LogEventConsumer>[]; /** * A custom filter function to suppress log events * if the filter's conditions are not met. */ filter: LogEventFilterPredicate; } /** * Route controller for events. * * When a logger referencing this transport (via `getLogger(tag)`) produces an event, * the event will be verified against the transport's filter; if the event is * deemed valid, it will be passed on to all assigned consumers, as well as * any listeners registered to the transport's event emitter. */ export declare class LogEventTransport extends LogEventGuard implements LogEventInterceptor, LogEventEmitterSource { readonly events: EventEmitter<LogEventLike>; readonly forwardRef: (ev: LogEventLike) => void; constructor(options?: Partial<LogEventTransportConfig>); getLogger(tag: string): Logger; interceptEvent(ev: LogEventLike): void; createEvent(level: number, tag: string, message: string, params?: any[], timestamp?: number): LogEventLike; configure(config: Partial<LogEventTransportConfig>): void; }