Winston logger не работает правильно при запросах - PullRequest
0 голосов
/ 29 июня 2019

В моем проекте Node.js я использую Winston для регистрации предупреждений и ошибок.Я добавил два транспортных файла в мой объект 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);
    });
  });
};
...