From e2a3302098ed6ed7e75407eafc2d7bdc1af93163 Mon Sep 17 00:00:00 2001 From: lihao Date: Wed, 24 Jan 2018 02:11:10 +0800 Subject: [PATCH] export mongodb Logger (#23122) * export mongodb Logger * format file --- types/mongodb/index.d.ts | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/types/mongodb/index.d.ts b/types/mongodb/index.d.ts index 4364c0efe2..8bd069dcd6 100644 --- a/types/mongodb/index.d.ts +++ b/types/mongodb/index.d.ts @@ -1453,3 +1453,49 @@ export interface ChangeStreamOptions { } type GridFSBucketWriteStreamId = string | number | Object | ObjectID; + +export interface LoggerOptions { + loggerLevel: string // Custom logger function + logger: log // Override default global log level. +} + +export type log = (message?: string, state?: LoggerState) => void + +export interface LoggerState { + type: string + message: string + className: string + pid: number + date: number +} + +/** http://mongodb.github.io/node-mongodb-native/3.0/api/Logger.html */ +export class Logger{ + constructor(className: string,options: LoggerOptions) + // Log a message at the debug level + debug(message: string, state: LoggerState):void + // Log a message at the warn level + warn(message: string, state: LoggerState):void + // Log a message at the info level + info(message: string, state: LoggerState):void + // Log a message at the error level + error(message: string, state: LoggerState):void + // Is the logger set at info level + isInfo():boolean + // Is the logger set at error level + isError():boolean + // Is the logger set at error level + isWarn():boolean + // Is the logger set at debug level + isDebug():boolean + // Resets the logger to default settings, error and no filtered classes + static reset():void + // Get the current logger function + static currentLogger():log + //Set the current logger function + static setCurrentLogger(log: log):void + // Set what classes to log. + static filter(type: string,values: string[]):void + // Set the current log level + static setLevel(level: string):void +}