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