Morgan logger不会记录所有要归档的内容

时间:2019-02-26 09:41:16

标签: node.js express morgan

我使用Morgan和Express为我的网站提供REST API。我在main.js中以这种方式实现了morgan-logger:

app.use(morgan('dev')); //logger
app.use(morgan('dev', {stream: fs.createWriteStream('./access.log', {flags: 
'a'})}));

现在,它将每次对API的每次调用记录在我的access.log文件中,如下所示:

::ffff:10.60.101.165 - - [26/Feb/2019:08:19:57 +0000] "POST /api/api1
HTTP/1.1" 200 -
::ffff:10.60.101.165 - - [26/Feb/2019:08:19:58 +0000] "POST /api/api2
HTTP/1.1" 200 -
::ffff:10.60.101.165 - - [26/Feb/2019:08:19:58 +0000] "POST /api/api3
HTTP/1.1" 200 -

那很好,但是当我编写自己的日志消息(例如console.log(“文件A中的错误”))时,它会打印在控制台中,而不是我的access.log文件中。如何在我的API文件中手动对其进行写入?

1 个答案:

答案 0 :(得分:0)

我们使用morgan logger进行API日志记录。如果您想记录任何内容,则可以使用winston logger库。它非常易于使用。我已经在这里回答了-Log4js javascript create daily log file

您还可以使用pm2托管服务。之后,无论何时在控制台上登录任何内容,pm2都会将它们写入文件中。