UNPKG

@incubrain/logger

Version:

A modern, format-agnostic logging library for Node.js and browser environments, built on top of Consola with additional features for enterprise applications.

66 lines (65 loc) 2.48 kB
import type { ConsolaInstance, PromptOptions } from "consola"; import type { LoggerOptions } from "./types.js"; type SelectOption = { label: string; value: string; hint?: string; }; export declare class Logger { private static instance; consola: ConsolaInstance; private reporters; private options; constructor(options?: LoggerOptions, injectedConsola?: ConsolaInstance); private shouldLog; static getInstance(options?: LoggerOptions): Logger; /** * Create a new logger with additional context */ withContext(context: Record<string, any>): Logger; setLevel(level: number): void; end(): Promise<void>; prompt(message: string, options: PromptOptions | undefined): Promise<string | boolean | SelectOption | (string | SelectOption)[]>; /** * Debug level logging - improved to handle console-like inputs * Can be called like: logger.debug("Message", { data }, error) */ debug(message: any, ...args: any[]): void; /** * Info level logging - improved to handle console-like inputs * Can be called like: logger.info("Message", { data }, error) */ info(message: any, ...args: any[]): void; /** * Success level logging - improved to handle console-like inputs * Can be called like: logger.success("Message", { data }, error) */ success(message: any, ...args: any[]): void; /** * Warning level logging - improved to handle console-like inputs * Can be called like: logger.warn("Message", { data }, error) */ warn(message: any, ...args: any[]): void; /** * Error level logging - improved to handle console-like inputs * Can be called like: logger.error("Message", error, { data }) * or: logger.error(error) or logger.error("Message", { error }) */ error(message: any, ...args: any[]): void; /** * Fatal level logging - improved to handle console-like inputs * Can be called like: logger.fatal("Message", error, { data }) */ fatal(message: any, ...args: any[]): void; /** * Trace level logging - improved to handle console-like inputs * Can be called like: logger.trace("Message", { data }, error) */ trace(message: any, ...args: any[]): void; /** * Generic logging method - improved to handle console-like inputs * Can be called like: logger.log("Message", { data }, error) */ log(message: any, ...args: any[]): void; } export {};