如何在Node.JS中将日志从Morgan传递到Winston?

时间:2019-07-09 17:00:25

标签: node.js logging winston morgan

我想将输出从ValueError: Invalid placeholder in string: line 248, col 31 日志记录包传递到morgan记录器。在网上,有很多文章是如何做到的,例如以下文章:

  1. https://www.digitalocean.com/community/tutorials/how-to-use-winston-to-log-node-js-applications#step-4-%E2%80%94-integrating-winston-with-our-application

  2. https://www.loggly.com/docs/node-express-js-morgan-logging/

此外,SO的类似问题中也有一个答案-https://stackoverflow.com/a/28824464/11760800

有效。但是我不知道它到底如何工作。

根据Morgan的文档:

  

stream:用于写入日志行的输出流。

上面链接中的示例建议了下一个选项:

  1. 使用“写入”功能将其添加到Winston logger流对象中,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?它应该意味着什么吗?命名在这里重要吗?

对于此事的任何澄清,我将不胜感激。 谢谢!

0 个答案:

没有答案