【问题标题】:In Winston logging module,why that sending logs with different level is not working在 Winston 日志模块中,为什么发送不同级别的日志不起作用
【发布时间】:2026-01-15 23:45:01
【问题描述】:

在我的节点应用程序中,我使用 winston 模块来存储我的应用程序日志。我尝试将日志存储在不同的级别和不同的文件中。在这种情况下,我收到错误为“错误:传输已附加: 文件”。

我的代码

  var winston=require('winston');
  winston.add(winston.transports.File, { filename: './logfile.log',level:'error' });
  winston.add(winston.transports.File, { filename: './logfile1.log',level:'warn' });
  winston.add(winston.transports.File, { filename: './logfile2.log',level:'debug'});

  winston.log('error', 'Error message!');//this should go to logfile.log
  winston.log('warn', 'Warning message!');//this should go to logfile1.log
  winston.log('debug', 'Debug message!');//this should go to logfile2.log

【问题讨论】:

    标签: node.js logging winston


    【解决方案1】:

    winston.add(winston.transports.File, { name:'log.error', filename: './logfile.log',level:'error' }); winston.add(winston.transports.File, { name:'log.warn', filename: './logfile1.log',level:'warn' }); winston.add(winston.transports.File, { name:'log.debug', filename: './logfile2.log',level:'debug'});

    就那样做吧!

    【讨论】:

      【解决方案2】:

      winston 只支持在一个实例中传输一个文件,您可以制作更多实例来处理不同级别的日志。

      【讨论】: