NodeJS Logger:winston.transports.DailyRotateFile不是一个函数

时间:2016-02-02 16:30:09

标签: node.js logging winston

我正在用NodeJS写一个休息api并表达,我使用express-winston来记录访问和错误。但我想每天分开de log。就像在这个post

中一样

我试图用winston.transports.DailyRotateFile这样做。下面的一段代码。

api.use(expressWinston.logger({
    transports: [
      new winston.transports.DailyRotateFile({
          name: 'file',
          datePattern: '.yyyy-MM-ddTHH',
          filename: path.join(__dirname, "log-access", "log_file.log")
      })
    ]
})); 

然后我收到错误:winston.transports.DailyRotateFile不是函数

我想我必须安装另一个包,因为阅读winston的文档我发现你可以编写自定义传输。

您是否有关于我必须安装哪个软件包的信息?我找到了一些不匹配或停止使用的东西。

感谢您的帮助

3 个答案:

答案 0 :(得分:5)

您无需指定:

var winston = require('winston'), expressWinston = require('express-winston');
winston.transports.DailyRotateFile = require('winston-daily-rotate-file');

您只需要require

const winston = require('winston');
require('winston-daily-rotate-file');

答案 1 :(得分:3)

我必须这样做才能起作用:

var winston = require('winston'), expressWinston = require('express-winston');
winston.transports.DailyRotateFile = require('winston-daily-rotate-file');

我已经拥有了package这个权利,但在我写完上述行之前,它不会有效。

答案 2 :(得分:1)

您正在寻找的是this module

只需按照文档说明,您就可以了。