node-test-bed-adapter
Version:
An adapter to connect a node.js application to the Test-bed's Common Information Space or Common Simulation Space.
37 lines (36 loc) • 1.16 kB
text/typescript
import { EventEmitter } from 'events';
import { LogLevel } from './log-levels.mjs';
export interface ICanLog {
log(level: LogLevel, msg: string, callback?: (err?: Error, result?: any) => void): void;
}
export interface ILogger {
/** The actual logger instance */
logger: ICanLog;
/** The minimum log level: messages with a higher log level will be ignored. */
minLevel: LogLevel;
}
/**
* Singleton logger, who is given a list of loggers that do the actual logging.
*
* Event emitter:
* 'error': Returns logger's error
* 'message': Returns logger's message
*/
export declare class Logger extends EventEmitter {
private static _instance;
private loggers;
private minLevel;
private isInitialized;
private constructor();
static get instance(): Logger;
initialize(loggers: ILogger[]): void;
addLogger(logger: ILogger): void;
info(msg: string | Object): void;
debug(msg: string | Object): void;
warn(msg: string | Object): void;
error(msg: string | Object): void;
critical(msg: string | Object): void;
sill(msg: string | Object): void;
private setMinLogLevel;
private log;
}