是否可以将记录器与名称隔离?
Is it possible to segregate logger with name?
目前如果我 运行 logger.debug('message')
我得到这样的输出
{"message":"message","level":"debug"}
是否可以在创建记录器时做一些事情,使消息看起来更像这样?
{"message":"message","level":"debug","name":"someModule"}
最后我希望每个模块都自定义自己的logger,这样logging来自哪个模块就一目了然了
如果 winston logger 本身没有这个功能,你能推荐一个有这个功能的日志库吗?
您可能会使用 custom-logger
在那里你可以定义如下:
var log = require('custom-logger').config({ format: "%message% %level%[%timestamp%]: %name%" });
还有一些更复杂的东西,比如:
log.new({
alert: { level: 3, color: 'red', event: 'alert', format: '!!!!!%event% : %message% !!!!!' name: '%name%' }
});
而且非常简单,比如:
log.info("I see %d %s!", 3, "bananas");
获取输出:输出"I see 3 bananas!"
对于您的具体问题,您可以将此添加到您的代码中:
log.new({
debug: { message: "This is the message" , level :"debug", name: "Your module name"}
});
要使用图书馆提供的标准:
log.new({
fatal: { message: "THIS IS THE END!" , level :"fatal", name: "Your module name"}
});
如果您想定义自己的颜色以获得更好的概览:
log.info().config({ color: 'cyan' }); //This should be declared as global
log.info('Hello World!');
此外,您可以分配
try {
eval('alert("Hello world)');
}
catch(error) {
console.error(error);
log.new({
error: { message: error, level :"error", name: "Your module name"}
});
}
目前如果我 运行 logger.debug('message')
我得到这样的输出
{"message":"message","level":"debug"}
是否可以在创建记录器时做一些事情,使消息看起来更像这样?
{"message":"message","level":"debug","name":"someModule"}
最后我希望每个模块都自定义自己的logger,这样logging来自哪个模块就一目了然了
如果 winston logger 本身没有这个功能,你能推荐一个有这个功能的日志库吗?
您可能会使用 custom-logger
在那里你可以定义如下:
var log = require('custom-logger').config({ format: "%message% %level%[%timestamp%]: %name%" });
还有一些更复杂的东西,比如:
log.new({
alert: { level: 3, color: 'red', event: 'alert', format: '!!!!!%event% : %message% !!!!!' name: '%name%' }
});
而且非常简单,比如:
log.info("I see %d %s!", 3, "bananas");
获取输出:输出"I see 3 bananas!"
对于您的具体问题,您可以将此添加到您的代码中:
log.new({
debug: { message: "This is the message" , level :"debug", name: "Your module name"}
});
要使用图书馆提供的标准:
log.new({
fatal: { message: "THIS IS THE END!" , level :"fatal", name: "Your module name"}
});
如果您想定义自己的颜色以获得更好的概览:
log.info().config({ color: 'cyan' }); //This should be declared as global
log.info('Hello World!');
此外,您可以分配
try {
eval('alert("Hello world)');
}
catch(error) {
console.error(error);
log.new({
error: { message: error, level :"error", name: "Your module name"}
});
}