【问题标题】:How do I make a logger transport to a file using Winston如何使用 Winston 将记录器传输到文件
【发布时间】:2017-10-09 06:15:32
【问题描述】:

我需要将记录器传输到记录错误和警告的文本​​文件。现在,我有一个使用 Winston 进行控制台日志记录的传输:

'use strict';

const winston = require('winston');
const m = require('moment-timezone');
let logger = null;

/**
 * Initializes the logger
 * @param {object} configLogging
 */
module.exports.initialize = function initialize(configLogging) {
  const dateFormat = 'dddd, MMMM Do YYYY, h:mm:ss a';

  logger = new winston.Logger({
    transports: [
      new (winston.transports.Console)({
        name: 'info-console',
        level: configLogging.level,
        colorize: true,
        timestamp: function() { return m.utc().format(dateFormat); }
      })
    ]
  });

  logger.info('Starting logging service');
};

/**
 * Gets the logger instance
 * @returns {LoggerInstance} winLogger
 */
module.exports.get = function get() {
  return logger;
};

【问题讨论】:

    标签: node.js logging winston


    【解决方案1】:

    要将您的跟踪记录到文件中,请尝试添加以下 sn-p,

    new (winston.transports.File)({ filename: 'somefile.log' });
    

    添加您的logger 分配后应该是这样的,

    logger = new winston.Logger({
        transports: [
          new (winston.transports.Console)({
            name: 'info-console',
            level: configLogging.level,
            colorize: true,
            timestamp: function() { return m.utc().format(dateFormat); }
          }),
          new (winston.transports.File)({ filename: 'somefile.log' })
        ]
    });
    
    logger.info('Starting logging service');
    

    更新:

    分别记录ErrorsLogs试试这个,

    var logger = new (winston.Logger)({
      transports: [
        new (winston.transports.File)({
          name: 'info-file',
          filename: 'filelog-info.log',
          level: 'info'
        }),
        new (winston.transports.File)({
          name: 'error-file',
          filename: 'filelog-error.log',
          level: 'error'
        })
      ]
    });
    

    希望这会有所帮助!

    【讨论】:

    • 如果我只想记录错误和警告怎么办?我是否需要为新传输指定level
    • 你也可以这样做,在标题“更新:”下查看我更新的答案
    猜你喜欢
    • 2018-12-16
    • 2015-07-26
    • 1970-01-01
    • 2013-06-23
    • 2019-05-20
    • 2023-03-29
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    相关资源
    最近更新 更多