@milandadhaniya/tiny-logger-js
Version:
A tiny logger for both Node.js and browser environments, with configurable log levels and console output methods.
40 lines (38 loc) • 1.19 kB
TypeScript
type LogType = 'log' | 'info' | 'warn' | 'error' | 'debug' | 'table' | 'trace' | 'group' | 'groupEnd' | 'time' | 'timeEnd';
type AllowedLogs = Set<LogType>;
interface LoggerConfig {
allowed?: AllowedLogs;
}
interface LogParams {
title?: string;
msg: any;
force?: boolean;
}
/**
* TinyLogger: a minimal but extensible logger for Node.js and browser.
*/
declare class TinyLogger {
private readonly allowed;
constructor(config?: LoggerConfig);
private shouldLog;
private format;
log({ title, msg, force }: LogParams): void;
info({ title, msg, force }: LogParams): void;
warn({ title, msg, force }: LogParams): void;
error({ title, msg, force }: LogParams): void;
debug({ title, msg, force }: LogParams): void;
trace(msg: any): void;
table({ msg, force }: {
msg: any;
force?: boolean;
}): void;
group(label: string): void;
groupEnd(): void;
time(label: string): void;
timeEnd(label: string): void;
}
/**
* Default exported instance for convenience.
*/
declare const logger: TinyLogger;
export { type AllowedLogs, type LogParams, type LogType, type LoggerConfig, TinyLogger, logger as default };