Node.js express应用程序中的Morgan logger没有';t为每个条目创建新行

Node.js express应用程序中的Morgan logger没有';t为每个条目创建新行,node.js,express,logging,morgan,Node.js,Express,Logging,Morgan,我在让morgan logger模块将每个日志条目写入日志文件的新行时遇到问题 我已经编写了一个express应用程序来验证我们订阅的资源中的用户,并且我需要在该应用程序中添加日志记录。我已经将morgan设置为写入文件,但是,日志文件中的每个条目都写入同一行,而不是写入新行 这是我代码中的内容 //requiring express and morgan var express = require('express'); var morgan = require('morgan'); //d

我在让morgan logger模块将每个日志条目写入日志文件的新行时遇到问题

我已经编写了一个express应用程序来验证我们订阅的资源中的用户,并且我需要在该应用程序中添加日志记录。我已经将morgan设置为写入文件,但是,日志文件中的每个条目都写入同一行,而不是写入新行

这是我代码中的内容

//requiring express and morgan
var express = require('express');
var morgan = require('morgan');

//defining the file to write log entries to
var accessLogStream = fs.createWriteStream(path.join('logs', 'access.log'), {flags: 'a'});

//defining what to log with morgan
app.use(morgan(':date[iso], :remote-addr, :status, :response-time ms', {stream: accessLogStream}));
我错过了什么?我尝试在morgan格式的末尾添加/n,如下所示:

app.use(morgan(':date[iso], :remote-addr, :status, :response-time ms /n', {stream: accessLogStream}));
但这导致了一个错误。错误显示:

undefined:8
(tokens["response-time](req, res) || "-") + " ms

SyntaxError: Invalid or unexpeceted token

摩根实际上写了一行新词:


请注意,这是一条unix新行。如果您使用的是Windows,则应使用能够呈现非Windows换行符(即非记事本)的应用程序读取该文件。

好问题。我也在找

确保已安装最新的软件包

这应该做到:

const express = require('express');
const expressApp = express();
const morgan = require('morgan');

expressApp.use(morgan(function (tokens, req, res) {
    return [
        '-------------------------\n', // <= horizontal line breaker added with every log
        tokens.method(req, res),
        tokens.url(req, res),
        tokens.status(req, res),
        tokens.res(req, res, 'content-length'), '-',
        tokens['response-time'](req, res), 'ms'
    ].join(' ')
}));
const express=require('express');
const expressApp=express();
const morgan=要求(“摩根”);
expressApp.use(morgan(功能(令牌、请求、资源){
返回[

“---------------------------\n',//这是我的问题!我正在使用记事本打开日志。当我使用记事本++打开它时,所有内容都显示在它自己的行中。谢谢您的帮助。