UNPKG

@ayanaware/logger

Version:

Useful and great looking logging made easy

32 lines (31 loc) 1.18 kB
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; }