UNPKG

brw-core-logger

Version:

This is frontend logger utility which is used to log messages in the frontend application.

52 lines (51 loc) 1.56 kB
declare enum LogLevel { DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3, SILENT = 4 } interface LogEntry { timestamp: Date; level: LogLevel; name: string; message: string; data?: any; duration?: number; } type LogHandler = (entry: LogEntry) => void; declare class Logger { private static globalLevel; private static handlers; private static performanceTimers; private readonly name; private level; constructor(name: string, level?: LogLevel); setLevel(level: LogLevel): void; getLevel(): LogLevel; debug(message: string, data?: any): void; info(message: string, data?: any): void; warn(message: string, data?: any): void; error(message: string, data?: any): void; /** * Start performance timer * @param message Description of the operation * @param data Additional context data * @returns Function to end the timer */ startTimer(message: string, data?: any): () => void; /** * Measure function execution time * @param fn Function to measure * @param message Performance description * @param data Additional context * @returns Function execution result */ measure<T>(fn: () => T | Promise<T>, message: string, data?: any): Promise<T>; private log; static addHandler(handler: LogHandler): void; static removeHandler(handler: LogHandler): void; static setGlobalLevel(level: LogLevel): void; private static defaultConsoleHandler; } export { Logger, LogLevel, type LogHandler, type LogEntry };