查询时Winston记录器无法正常工作

时间:2019-06-28 22:18:57

标签: node.js logging winston

在我的Node.js项目中,我正在使用here记录警告和错误。我已经将两个传输文件添加到Logger对象中,每个文件都记录到一个不同的文件中。

我遇到的问题是,每当我尝试进行查询时, 它只会从其中一个文件中获取日志 ,而不是从这两个文件中获取日志。

有什么方法可以从Winston日志的所有文件中获取日志?还是仅从一个特定文件中获取日志的方法?

这是我的记录器的代码:

logger = winston.createLogger({
  exitOnError: true,
  defaultMeta: {
    application: 'my-app',
  },
  format: winston.format.combine(
    winston.format.timestamp(),
    winston.format.json(),
    winston.format.splat()
  ),
});

_warnings = new winston.transports.File({
  filename: options.warn || 'warning.log',
  level: 'warn',
  maxsize: options.maxFileSize || 100000,
  format: winston.format.combine(
    warningFilter(),
    winston.format.timestamp(),
    winston.format.json(),
    winston.format.splat()
  ),
});

_files = new winston.transports.File({
  filename: options.info || 'info.log',
  level: 'info',
  maxsize: options.maxFileSize || 100000,
  format: winston.format.combine(
    infoFilter(),
    winston.format.timestamp(),
    winston.format.json(),
    winston.format.splat()
  ),
});

logger
  .clear()
  .add(_warnings)
  .add(_files);

这是我查询的代码:

const getLogs = () => {
  return new Promise((resolve, reject) => {
    log.query(options, (err, results) => {
      if (err) {
        reject([]);
      }
      resolve(results);
    });
  });
};

0 个答案:

没有答案