@xylabs/logger
Version:
XYLabs Logger Library
38 lines • 1.09 kB
TypeScript
import type { EnumKey, EnumValue } from '@xylabs/enum';
import { Enum } from '@xylabs/enum';
export type LogFunction = (...data: unknown[]) => void;
/**
* Interface to handle overlap between Winston &
* `console` with as much congruency as possible.
*/
export interface Logger {
debug: LogFunction;
error: LogFunction;
info: LogFunction;
log: LogFunction;
trace: LogFunction;
warn: LogFunction;
}
export declare const LogLevel: Enum<{
error: 1;
warn: 2;
info: 3;
log: 4;
debug: 5;
trace: 6;
}>;
export type LogLevelKey = EnumKey<typeof LogLevel>;
export type LogVerbosity = LogLevelKey;
export type LogLevelValue = EnumValue<typeof LogLevel>;
export declare class LevelLogger implements Logger {
readonly level: LogLevelValue;
readonly logger: Logger;
constructor(logger: Logger, level?: LogLevelValue);
get debug(): LogFunction;
get error(): LogFunction;
get info(): LogFunction;
get log(): LogFunction;
get trace(): LogFunction;
get warn(): LogFunction;
}
//# sourceMappingURL=LevelLogger.d.ts.map