@skyra/logger
Version:
A lightweight logger system with level support
55 lines (52 loc) • 1.49 kB
TypeScript
import { Color } from 'colorette';
export * from 'colorette';
declare class Logger {
/**
* The depth of the inspect.
*/
readonly level: Logger.Level;
/**
* The inspect depth when logging objects.
*/
readonly depth: number;
/**
* The context for each logging level.
*/
readonly levels: Readonly<Record<Logger.Level, Readonly<Logger.LevelContext>>>;
constructor(options?: Logger.Options);
enabled(level: Logger.Level): boolean;
disabled(level: Logger.Level): boolean;
trace(value: unknown, ...args: readonly unknown[]): void;
debug(value: unknown, ...args: readonly unknown[]): void;
info(value: unknown, ...args: readonly unknown[]): void;
warn(value: unknown, ...args: readonly unknown[]): void;
error(value: unknown, ...args: readonly unknown[]): void;
fatal(value: unknown, ...args: readonly unknown[]): void;
private write;
private get time();
}
declare namespace Logger {
interface Options {
level?: Level;
depth?: number;
levels?: Partial<Record<Level, LevelContext>>;
}
enum Level {
Trace = 0,
Debug = 1,
Info = 2,
Warn = 3,
Error = 4,
Fatal = 5
}
interface LevelContext {
color: Color;
name: string;
method: Method;
}
interface Format {
(value: string): string;
}
type Method = 'debug' | 'error' | 'info' | 'trace' | 'warn';
}
export { Logger };