@ayanaware/logger
Version:
Useful and great looking logging made easy
32 lines (31 loc) • 1.18 kB
TypeScript
import { LogLevel } from '../constants/LogLevel';
import { Formatter } from '../formatter/Formatter';
import { Logger } from '../Logger';
import { InternalLogMeta, LogMeta } from '../LogMeta';
import { LogLine } from '../types/LogLine';
export interface TransportOptionsLogger {
name: string;
level: LogLevel;
exact?: boolean;
}
export interface TransportOptions {
formatter?: Formatter;
level?: LogLevel;
loggers?: Array<TransportOptionsLogger>;
}
export declare abstract class Transport<T extends TransportOptions> {
private readonly knownLoggers;
protected readonly options: T;
constructor(options?: T);
setLevel(level: LogLevel): void;
setFormatter(formatter: Formatter): void;
setLoggers(loggers: Array<TransportOptionsLogger>): void;
private getAllowedLevel;
log(origin: Logger, level: LogLevel, input: LogLine, uniqueMarker?: string, extra?: Readonly<{
[key: string]: any;
}>): Readonly<InternalLogMeta>;
logMeta(meta: Readonly<InternalLogMeta>): void;
private formatAndPrint;
private static defaultFormatterGetter;
protected abstract print(meta: Readonly<LogMeta>, message: string): void;
}