1
0
Fork 0
js-utils/src/Logger.ts

32 lines
711 B
TypeScript

import { ConsoleLogger, Logger, NullLogger } from 'noicejs';
import { isDebug } from './Env.js';
/**
* Get a test logger. Returns a null logger unless `verbose` is true or run under debug mode.
*
* @public
*/
export function getTestLogger(verbose = false): Logger {
if (verbose || isDebug()) {
return ConsoleLogger.global;
} else {
return NullLogger.global;
}
}
/**
* Create a spy logger using the provided methods, which returns itself as a child.
*
* @internal
*/
export function spyLogger(spies: Partial<Logger>): Logger {
// TODO: ensure all methods are present by extending null logger
const logger = {
...spies,
child: () => logger,
} as Logger;
return logger;
}