我正在开发一个具有多个模块的节点应用程序。我现在正在尝试正确设置日志记录(应该在一开始就这样做),并考虑使用 Bunyan。
最好有一个单独的模块,然后按照这个答案logger
中的建议,导出一个模块,然后由其他模块需要,或者直接在每个模块中定义一个新的 bunyan实例并相应地配置它?对于重用,我想象前者,但我不知道这是否会限制未来。logger
如果我定义了一个记录器,例如
var bunyan = require('bunyan');
var logger = bunyan.createLogger({
name: "filter",
streams: [
{
level: 'info',
stream: process.stdout
},
{
level: 'error',
path: '../error.log'
},
{
level: 'debug',
path: '../debug.log'
}
]
});
module.exports = logger;
然后所有使用它的模块也将使用 name 进行日志记录filter
,而每个模块使用更能代表自身的名称进行日志记录可能更有意义。
另外,我是否认为所有模块都应该将错误记录到同一个日志文件中,例如 systemErr.log(以便更好地概述),或者它们应该记录到自己的错误日志中,例如 module1Err.log、module2Err.log?