【问题标题】:NodeJS Winston DailyRotateFile not writingNodeJS Winston DailyRotateFile 不写
【发布时间】:2014-08-30 21:57:30
【问题描述】:

我正在尝试设置一个简单的每日轮换日志写入:

// Create file transport
transports.push(new winston.transports.DailyRotateFile({
  name: 'file',
  datePattern: '.yyyy-MM-ddTHH',
  filename: path.join(logPath, 'http')
}));

// Create new logger
var logger = new winston.Logger({
  transports: transports
});

它可以很好地创建日志文件,但是 logger.info(some_data) 不会向日志中写入任何内容。

有什么想法,甚至是其他解决方案吗?

【问题讨论】:

  • 看不到代码log.info(some_data) 的使用位置或变量log 的实例化位置。我确实看到了logger,但没有看到log
  • 抱歉,已更正,它是logger.info
  • 假设它不是 Winston 错误,some_data 不为空,并且记录器已准备就绪,要么应该生成错误,要么写入的文件位于您未预料到的位置。也许插入一个logger.on('error', function (err) { /* Do Something */ }); 看看是否正在生成错误?
  • 或者试试console.log(some_data) 看看some_data 是否真的包含数据。或者使用字符串进行记录器测试。另一种解决方案可能是为传输添加日志级别。例如,如果将其设置为 error,您将看不到 info 日志请求。

标签: node.js logging winston


【解决方案1】:

这个适用于分钟旋转:

var winston = require('winston');


var logger = new (winston.Logger)({
  transports: [
    new (winston.transports.DailyRotateFile)({ filename: 'logFile', datePattern: '.yyyy-MM-dd_HH-mm' })
  ]
});


logger.info('Hello my friend');

【讨论】:

    猜你喜欢
    • 2018-10-29
    • 2021-04-26
    • 2019-10-19
    • 2022-07-14
    • 2020-06-27
    • 2019-05-20
    • 2019-06-15
    • 2019-04-14
    • 2015-04-22
    相关资源
    最近更新 更多