hook-engine
Version:
Production-grade webhook engine with comprehensive adapter support, security, reliability, structured logging, and CLI tools.
33 lines (32 loc) • 1.68 kB
TypeScript
import { EventEmitter } from 'events';
import { LogLevel, LoggerInterface, LoggerConfig, LogContext, WebhookLogEntry, SecurityLogEntry, PerformanceLogEntry } from '../types/logging';
export declare class StructuredLogger extends EventEmitter implements LoggerInterface {
config: LoggerConfig;
private context;
private outputs;
private logBuffer;
private flushTimer?;
constructor(config?: Partial<LoggerConfig>, context?: LogContext);
private initializeOutputs;
private createTransport;
private startFlushTimer;
private shouldLog;
private generateEventId;
private createBaseEntry;
debug(message: string, context?: LogContext, metadata?: Record<string, any>): void;
info(message: string, context?: LogContext, metadata?: Record<string, any>): void;
warn(message: string, context?: LogContext, metadata?: Record<string, any>): void;
error(message: string, error?: Error, context?: LogContext, metadata?: Record<string, any>): void;
fatal(message: string, error?: Error, context?: LogContext, metadata?: Record<string, any>): void;
webhook(entry: Omit<WebhookLogEntry, 'timestamp' | 'eventId'>): void;
security(entry: Omit<SecurityLogEntry, 'timestamp' | 'eventId'>): void;
performance(entry: Omit<PerformanceLogEntry, 'timestamp' | 'eventId'>): void;
child(context: LogContext): LoggerInterface;
setLevel(level: LogLevel): void;
private writeLog;
flush(): Promise<void>;
close(): Promise<void>;
}
export declare function createLogger(config?: Partial<LoggerConfig>, context?: LogContext): LoggerInterface;
export declare const logger: LoggerInterface;
export * from '../types/logging';