:axe: Logger-agnostic wrapper that normalizes logs regardless of arg style. Great for large dev teams, old/new projects, and works w/Pino, Bunyan, Winston, console, and more. It is lightweight, performant, highly-configurable, and automatically adds OS, CPU, and Git information to your logs. Hooks, dot-notation remap, omit, and pick of metadata.
There is some confusing behavior from axe when nesting axe loggers.
See the following example for illustration of the problem.
const Axe = require('axe');
const { Signale } = require('signale');
// works as expected
const logger = new Axe({ logger: new Signale(), level: 'debug' });
// how we have it set up in FE -- does not work as expected
const logger2 = new Axe({
logger,
level: 'debug'
});
console.log('NOT NESTED');
logger.debug('debug');
logger.info('info');
logger.warn('warn');
logger.error('error');
console.log('\nNESTED');
logger2.debug('debug');
logger2.info('info');
logger2.warn('warn');
logger2.error('error');
output:
NOT NESTED
⬤ debug debug
ℹ info info
⚠ warning warn
✖ error error
NESTED
ℹ info info
⚠ warning warn
✖ error error
I would expect that since I set level debug on both loggers, that debug level would be logged on logger2, however, it is not.
There is some confusing behavior from axe when nesting axe loggers.
See the following example for illustration of the problem.
output:
I would expect that since I set level debug on both loggers, that debug level would be logged on logger2, however, it is not.