loglevel-plugin-prefix icon indicating copy to clipboard operation
loglevel-plugin-prefix copied to clipboard

Option inheritance doesn't work across modules

Open FlepTheFlabbergasted opened this issue 5 years ago • 0 comments

loglevel": "^1.6.7
loglevel-plugin-prefix": "^0.8.4

In App.ts

const logRoot = require('loglevel');
const prefix = require('loglevel-plugin-prefix');

function format(level: string) {
  return '['+ level + ']:'
}

prefix.reg(logRoot);
logRoot.enableAll();

logRoot.info('root1'); // Prints 'root1'
prefix.apply(logRoot, { format });
logRoot.info('root2'); // Prints '[INFO]: root2'

const moduleLogger = logRoot.getLogger('module')
prefix.apply(moduleLogger);

moduleLogger.info('loggerModule from App.ts'); // Prints '[INFO]: loggerModule from App.ts'

In Module.ts

...
const moduleLogger = require("loglevel").getLogger('module');
moduleLogger.info('loggerModule from Module.ts'); // FAULT: Only prints 'loggerModule from Module.ts'

The log

loggerModule from Module.ts <---- Why is this here and why isn't it prefixed?
root1
[INFO]: root2
[INFO]: loggerModule from App.ts

FlepTheFlabbergasted avatar Mar 12 '20 12:03 FlepTheFlabbergasted