UNPKG

@vegajs/logger

Version:

A powerful, flexible, and customizable logging utility for TypeScript and JavaScript applications. Supports multiple log levels, context-aware logging, JSON and text output formats, and external log transmission.

45 lines (44 loc) 1.27 kB
type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR'; interface LogData { [key: string]: unknown; } type SendData = { log: string; message: string; data: unknown; }; type SendLogCallback = (data: SendData) => void; interface LoggerOptions { isEnabled?: boolean; logLevel?: LogLevel; sendLogCallback?: SendLogCallback; outputFormat?: 'text' | 'json'; contextId?: string; globalContext?: LogData; enableColor?: boolean; } export declare class Logger { private isEnabled; private logLevel; private readonly sendLogCallback?; private readonly outputFormat; private contextId?; private globalContext?; private readonly enableColor; constructor(options?: LoggerOptions); setEnabled(enabled: boolean): void; setLogLevel(level: LogLevel): void; setContextId(contextId: string): void; setGlobalContext(globalContext: LogData): void; private formatMessage; private formatData; private shouldLog; private sendLog; private outputToConsole; private log; debug(message: string, data?: LogData): void; info(message: string, data?: LogData): void; warn(message: string, data?: LogData): void; error(message: string, data?: LogData): void; } export {};