js-console-logger
Version:
A configurable, lightweight, opinionated JavaScript logger.
38 lines (37 loc) • 1.15 kB
TypeScript
export declare enum LogLevel {
TRACE = "trace",
DEBUG = "debug",
INFO = "info",
WARN = "warn",
ERROR = "error"
}
export declare type FunctionType = (level: LogLevel, name: string, msg: string, data: string | object) => void;
export declare type ConsoleLogFnType = (name: string, msg: string, data: string | object) => void;
export declare type ReportFnType = (obj: object) => void;
export declare type SetBooleanFnType = (flag: boolean) => void;
export declare type SetFunctionFnType = (fn: ReportFnType) => void;
export interface ILoggerInfoType {
levelTagColor: string;
levelCode: number;
}
export interface ILoggerInfo {
trace: ILoggerInfoType;
debug: ILoggerInfoType;
info: ILoggerInfoType;
warn: ILoggerInfoType;
error: ILoggerInfoType;
}
export interface ILoggerConfig {
disableConsole: boolean;
disableReport: boolean;
consoleLevel: LogLevel;
reportLevel: LogLevel;
reportFn: ReportFnType;
}
export interface IConsoleLogger {
trace: ConsoleLogFnType;
debug: ConsoleLogFnType;
info: ConsoleLogFnType;
warn: ConsoleLogFnType;
error: ConsoleLogFnType;
}