diff --git a/winston/winston-tests.ts b/winston/winston-tests.ts index 0147af5819..5251811d06 100644 --- a/winston/winston-tests.ts +++ b/winston/winston-tests.ts @@ -76,14 +76,19 @@ winston.exitOnError = bool; winston.log(str, str); winston.log(str, str, metadata); +winston.log(str, str, metadata, metadata, metadata); winston.debug(str); winston.debug(str, metadata); +winston.debug(str, metadata, metadata, metadata); winston.info(str); winston.info(str, metadata); +winston.info(str, metadata, metadata, metadata); winston.warn(str); winston.warn(str, metadata); +winston.warn(str, metadata, metadata, metadata); winston.error(str); winston.error(str, metadata); +winston.error(str, metadata, metadata, metadata); winston.query(queryOptions, (err: Error, results: any): void => { @@ -118,14 +123,19 @@ readableStream.on('log', function (log:any):void { logger = logger.extend(obj); logger.log(str, str); logger.log(str, str, metadata); +logger.log(str, str, metadata, metadata, metadata); logger.debug(str); logger.debug(str, metadata); +logger.debug(str, metadata, metadata, metadata); logger.info(str); logger.info(str, metadata); +logger.info(str, metadata, metadata, metadata); logger.warn(str); logger.warn(str, metadata); +logger.warn(str, metadata, metadata, metadata); logger.error(str); logger.error(str, metadata); +logger.error(str, metadata, metadata, metadata); logger.query(queryOptions, (err: Error, results: any): void => { diff --git a/winston/winston.d.ts b/winston/winston.d.ts index 0dc80a57c3..a4fc77bb79 100644 --- a/winston/winston.d.ts +++ b/winston/winston.d.ts @@ -18,20 +18,12 @@ declare module "winston" { export var exitOnError: boolean; export var level: string; - export function log(level: string, msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - export function log(level: string, msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; + export var log: LogMethod; - export function debug(msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - export function debug(msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - - export function info(msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - export function info(msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - - export function warn(msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - export function warn(msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - - export function error(msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - export function error(msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; + export var debug: LeveledLogMethod; + export var info: LeveledLogMethod; + export var warn: LeveledLogMethod; + export var error: LeveledLogMethod; export function query(options: QueryOptions, callback?: (err: Error, results: any) => void): any; export function query(callback: (err: Error, results: any) => void): any; @@ -59,20 +51,12 @@ declare module "winston" { export interface LoggerInstance extends NodeJS.EventEmitter { extend(target: any): LoggerInstance; - log(level: string, msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - log(level: string, msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; + log: LogMethod; - debug(msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - debug(msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - - info(msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - info(msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - - warn(msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - warn(msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - - error(msg: string, meta: any, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; - error(msg: string, callback?: (err: Error, level: string, msg: string, meta: any) => void): LoggerInstance; + debug: LeveledLogMethod; + info: LeveledLogMethod; + warn: LeveledLogMethod; + error: LeveledLogMethod; query(options: QueryOptions, callback?: (err: Error, results: any) => void): any; query(callback: (err: Error, results: any) => void): any; @@ -281,4 +265,20 @@ declare module "winston" { start: Date; done: (msg: string) => LoggerInstance; } + + interface LogMethod { + (level: string, msg: string, callback: LogCallback): LoggerInstance; + (level: string, msg: string, meta: any, callback: LogCallback): LoggerInstance; + (level: string, msg: string, ... meta: any[]): LoggerInstance; + } + + interface LeveledLogMethod { + (msg: string, callback: LogCallback): LoggerInstance; + (msg: string, meta: any, callback: LogCallback): LoggerInstance; + (msg: string, ... meta: any[]): LoggerInstance; + } + + interface LogCallback { + (error?: any, level?: string, msg?: string, meta?:any): void; + } }