/// import * as bunyan from 'bunyan'; import { IncomingMessage, OutgoingMessage } from 'http'; export interface ILoggerConfig { name: string; level?: bunyan.LogLevel; filePath?: string; } export declare type LogFunction = (...message: (string[] | Error[] | IncomingMessage[] | OutgoingMessage[])) => void; export declare type CreateChildLoggerFunction = (options: Object, simple?: boolean | undefined) => ILogger; export interface ILogger { trace: LogFunction; debug: LogFunction; info: LogFunction; warn: LogFunction; error: LogFunction; fatal: LogFunction; child?: CreateChildLoggerFunction; } /** * Logging module */ export declare class Logger implements ILogger { trace: LogFunction; debug: LogFunction; info: LogFunction; warn: LogFunction; error: LogFunction; fatal: LogFunction; child: CreateChildLoggerFunction; /** * Construct a logger instance * @param options Logger options */ constructor(options: ILoggerConfig); }