温斯顿记录器未打印在新行上

5 javascript logging node.js winston

这是我的温斯顿记录器 -

var winston = require('winston')

var logger = new (winston.Logger)({
  transports: [
    new (winston.transports.File)({
      // log which takes care of all the MAS scoring - node clusters and servers
      filename: './test.log',
      level: 'info',
      json: true,
      eol: 'rn'
    })
  ]
})
Run Code Online (Sandbox Code Playgroud)

当我运行实际的记录器时:

logger.info('hi', 'it meeeeee')
logger.info('hi', 'it youuuuuu')
Run Code Online (Sandbox Code Playgroud)

它在 test.log 文件中打印如下 -

{"level":"info","message":"hi it meeeeee","timestamp":"2016-08-18T08:42:01.768Z"}rn{"level":"info","message":"hi it youuuuuu","timestamp":"2016-08-18T08:42:01.770Z"}rn
Run Code Online (Sandbox Code Playgroud)

我希望它是这样的:

{"level":"info","message":"hi it meeeeee","timestamp":"2016-08-18T08:42:01.768Z"}
{"level":"info","message":"hi it youuuuuu","timestamp":"2016-08-18T08:42:01.770Z"}
Run Code Online (Sandbox Code Playgroud)

这怎么可能?我读过这个问题Node.js Winston logger; 将日志插入日志文件时如何从换行符开始?- 但是它并不能解决我的问题。

即,如果我在 Notepad ++、命令行或 Sublime text 中打开,我仍然遇到同样的问题。

小智 4

尝试这个eol: \r\n

看官方文档