UNPKG

container.ts

Version:
40 lines (39 loc) 1.59 kB
import { ErrorChain } from "../lib/error"; /** Log levels defined in RFC5424. */ export declare enum ELogLevel { Emergency = 0, Alert = 1, Critical = 2, Error = 3, Warning = 4, Notice = 5, Informational = 6, Debug = 7 } /** Log message types. */ export declare type ILogMessage = string | Error | ErrorChain; /** Log metadata type. */ export interface ILogMetadata extends Object { [key: string]: any; } /** Abstract log class. */ export declare abstract class Log { /** System is unusable. */ emergency(message: ILogMessage, metadata?: ILogMetadata, ...args: any[]): void; /** Action must be taken immediately. */ alert(message: ILogMessage, metadata?: ILogMetadata, ...args: any[]): void; /** Critical conditions. */ critical(message: ILogMessage, metadata?: ILogMetadata, ...args: any[]): void; /** Error conditions. */ error(message: ILogMessage, metadata?: ILogMetadata, ...args: any[]): void; /** Warning conditions. */ warn(message: ILogMessage, metadata?: ILogMetadata, ...args: any[]): void; /** Normal but significant condition. */ notice(message: ILogMessage, metadata?: ILogMetadata, ...args: any[]): void; /** Informational messages. */ info(message: ILogMessage, metadata?: ILogMetadata, ...args: any[]): void; /** Debug level messages. */ debug(message: ILogMessage, metadata?: ILogMetadata, ...args: any[]): void; /** Log method provided by implementor. */ protected abstract log(level: ELogLevel, message: ILogMessage, metadata: ILogMetadata, ...args: any[]): void; }