import { HttpData } from './HttpLog.types'; import { LogLevel } from './Log.types'; import { MetricData } from './MetricLog.types'; import { LogAppender } from './Transport.types'; export interface ILogger { metric(metricData: MetricData, loggerName?: string): void; http(request: HttpData, response: HttpData, durationMs: number, loggerName?: string): void; info(message: string, payload?: Object, loggerName?: string): void; warn(message: string, payload?: Object, loggerName?: string): void; error(message: string, payload?: Object, loggerName?: string): void; verbose(message: string, payload?: Object, loggerName?: string): void; silly(message: string, payload?: Object, loggerName?: string): void; debug(message: string, payload?: Object, loggerName?: string): void; alert(message: string, payload?: Object, loggerName?: string): void; clear(): void; flush(): void; } export interface RootLoggingConfig { name?: string; filterLogLevel?: LogLevel; flushOnError?: boolean; maxBufferSize?: number; silent?: boolean; delimitter?: string; appenders?: LogAppender[]; } export interface LoggerConfig { name?: string; }