nodeId: '3c100e84-9a7f-11ec-9b4e-0025905f714a',
};
logger = new Logger(config, commonObject);
- Object.keys(Logger.nullLogger).forEach((level) => sinon.stub(logger.backend, level));
+ const logWrapper = process.env['VERBOSE_TESTS'] ? sinon.spy : sinon.stub;
+ Object.keys(Logger.nullLogger).forEach((level) => logWrapper(logger.backend, level));
scope = 'testScope';
message = 'message';
});
it('logs Errors', function () {
logger.error(scope, message, { e: new Error('an error') });
assert(logger.backend.error.called);
- assert(logger.backend.error.args[0][0].includes('an error'));
+ assert(logger.backend.error.args[0][0].includes('an error'), logger.backend.error.args[0][0]);
});
it('covers config settings', function () {
assert(logger.backend.info.called);
assert(!logger.backend.info.args[0][0].includes('"foo":"bar"'));
});
+
+ it('covers circular objects', function () {
+ const data = { foo: 'bar' };
+ data.self = data;
+ logger.info(scope, message, data);
+ assert(logger.backend.info.called);
+ assert(logger.backend.info.args[0][0].includes('[Circular]'));
+ });
}); // Logger
\ No newline at end of file