gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
27 lines (26 loc) • 811 B
TypeScript
import { DateTimeUtc } from '../../datetime/dt.js';
export declare enum LogLevel {
Debug = 0,
Info = 1,
Warn = 2,
Error = 3
}
export interface ILogEntry {
get when(): DateTimeUtc;
get level(): LogLevel;
get message(): string;
get fields(): Record<string, unknown>;
toString(inColor: boolean): string;
}
export interface ILogTarget {
supportColor: boolean;
log(entry: ILogEntry): void;
}
export interface ILogOracle {
set target(log: ILogTarget | undefined);
get supportColor(): boolean;
debug(message: string, fields?: Record<string, unknown>): void;
info(message: string, fields?: Record<string, unknown>): void;
warn(message: string, fields?: Record<string, unknown>): void;
error(message: string, fields?: Record<string, unknown>): void;
}