Reputation: 115
I have two loggers:
var category1 = winston.loggers.get('category1');
var category2 = winston.loggers.get('category2');
And i need to get their custom names (or default).
CustomLogger.prototype.log = function (level, msg, meta, callback) {
// i need logger name here! (category1 or category2 or undefined / default)
}
How is the right way to do it?
thanks
Upvotes: 1
Views: 860
Reputation: 115
As a hotfix ..
// fix to get logger name as metadata
var originalGetLogger = winston.Container.prototype.get // winston.loggers.get(loggerName);
winston.Container.prototype.get = function(loggerName,options){
var logger = originalGetLogger.call(winston.loggers,loggerName,options)
logger.rewriters.push(function(level, msg, meta) {
meta._l = loggerName;
return meta;
});
return logger;
}
im overriding get fn to add rewriter, and with rewriter im adding logger name to metadata.
// now each log will insert LOGGERNAME to meta
var loggerA = winston.loggers.get('LOGGERNAMEA');
var loggerB = winston.loggers.get('LOGGERNAMEB');
if there is something better let me know. thanks.
Upvotes: 2