@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
TypeScript
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 {};