UNPKG

@lit-protocol/logger

Version:

This package provides a centralized logging utility for the Lit Protocol SDK, offering structured logging capabilities across all packages. It enables consistent log formatting, level-based filtering, and standardized error reporting throughout the Lit Pr

96 lines (95 loc) 2.92 kB
import { LOG_LEVEL, LOG_LEVEL_VALUES } from '@lit-protocol/constants'; export { LOG_LEVEL }; export declare enum LogLevel { OFF = -1, ERROR = 0, INFO = 1, DEBUG = 2, WARN = 3, FATAL = 4, TIMING_START = 5, TIMING_END = 6 } interface ILog { timestamp: string; message: string; args: any[]; id: string; category: string; level: LOG_LEVEL_VALUES; error?: any; toString(): string; toJSON(): Record<string, unknown>; } declare class Log implements ILog { timestamp: string; message: string; args: any[]; id: string; category: string; level: LOG_LEVEL_VALUES; error?: any; constructor(timestamp: string, message: string, args: any[], id: string, category: string, level: LOG_LEVEL_VALUES); toString(): string; toArray(): string[]; toJSON(): Record<string, unknown>; } export type messageHandler = (log: Log) => void; export declare class Logger { private _category; private _level; private _id; private _handler; private _consoleHandler; private _logs; private _logHashes; private _config; private _isParent; private _children; private _timestamp; static createLogger(category: string, level: LOG_LEVEL_VALUES, id: string, isParent: boolean, config?: Record<string, any>): Logger; private constructor(); get id(): string; get category(): string; get timestamp(): number; get Logs(): Log[]; set Config(value: Record<string, any> | undefined); get Config(): Record<string, any> | undefined; get Children(): Map<string, Logger>; setLevel(level: LOG_LEVEL_VALUES): void; setHandler(handler: messageHandler): void; info(message?: string, ...args: any[]): void; debug(message?: string, ...args: any[]): void; warn(message?: string, ...args: any[]): void; error(message?: string, ...args: any[]): void; fatal(message?: string, ...args: any[]): void; trace(message?: string, ...args: any[]): void; timeStart(message?: string, ...args: any[]): void; timeEnd(message?: string, ...args: any[]): void; private _log; private _checkHash; private _addLog; private _addToLocalStorage; /** * * @param input string which will be cleaned of non utf-8 characters * @returns {string} input cleaned of non utf-8 characters */ private _cleanString; } export declare class LogManager { private static _instance; private _loggers; private _level; private _config; static get Instance(): LogManager; static clearInstance(): void; private constructor(); withConfig(config: Record<string, any>): void; setLevel(level: LOG_LEVEL_VALUES): void; setHandler(handler: messageHandler): void; get LoggerIds(): string[]; get(category: string, id?: string): Logger; getById(id: string): string[]; getLogsForId(id: string): string[]; }