我想将输出从ValueError: Invalid placeholder in string: line 248, col 31
日志记录包传递到morgan
记录器。在网上,有很多文章是如何做到的,例如以下文章:
此外,SO的类似问题中也有一个答案-https://stackoverflow.com/a/28824464/11760800
它有效。但是我不知道它到底如何工作。
根据Morgan的文档:
stream:用于写入日志行的输出流。
上面链接中的示例建议了下一个选项:
winston
将使用该对象,然后在morgan选项中使用它。morgan
它工作,但是我无法理解如何。什么是// file with winston logger
logger.stream = {
write: function(message, encoding) {
// use the 'info' log level so the output will be picked up by both transports (file and console)
logger.info(message);
},
};
// file with morgan logger
app.use(morgan('combined', { stream: winston.stream }));
?这是一个具有1个属性winston.stream
的对象。为什么在这里使用它?它是必需的可写流吗?为什么具有属性write
?它应该意味着什么吗?命名在这里重要吗?
对于此事的任何澄清,我将不胜感激。 谢谢!