UNPKG

@untools/logger

Version:

An enhanced logger for JavaScript/TypeScript that handles DOM elements and circular references

68 lines (67 loc) 1.79 kB
export declare enum LogLevel { ERROR = 0, WARN = 1, INFO = 2, DEBUG = 3 } interface LoggerOptions { showInProd?: boolean; includeTimestamp?: boolean; maxDepth?: number; maxStringLength?: number; enableCircularHandling?: boolean; domElementFormat?: "inspect" | "summary" | "disabled"; prettyPrint?: boolean; indentSize?: number; colors?: boolean; logLevel?: LogLevel; namespace?: string; enabled?: boolean; } declare class Logger { private showInProd; private includeTimestamp; private maxDepth; private maxStringLength; private enableCircularHandling; private domElementFormat; private prettyPrint; private indentSize; private useColors; private logLevel; private namespace; private enabled; private env; private consoleColors; private browserColors; constructor(options?: LoggerOptions); /** * Sets the log level. * @param {LogLevel} level - The new log level */ setLogLevel(level: LogLevel): void; /** * Enables or disables logging. * @param {boolean} enabled - Whether to enable logging */ setEnabled(enabled: boolean): void; private getEnvironment; private getCallerInfo; private formatMetadata; private formatDOMElement; private colorizeText; private getIndentation; private formatArgument; private _log; log(...args: unknown[]): void; debug(...args: unknown[]): void; info(...args: unknown[]): void; warn(...args: unknown[]): void; error(...args: unknown[]): void; group(label: string): void; groupEnd(): void; time(label: string): void; timeEnd(label: string): void; } declare const logger: Logger; export { Logger, logger, type LoggerOptions };