Не могу регистрировать необработанные отказы с Уинстоном

#winston

Вопрос:

Я работаю над файлами журналов и поэтому использую winston версии 3.3.3 . У меня есть функция, которую я использую для вызова регистратора. По какой-то причине я не могу войти в систему с обещаниями отказа. Может ли кто-нибудь указать мне правильное направление, пожалуйста?

 function DevLogger() {
  const logFormat = printf(({ level, message, timestamp, stack }) => {
    return `${timestamp} ${level}: ${stack || message}`;
  });

  let fileProperty = {
    maxsize: 5242880,
    maxFiles: 5,
    colorize: false,
    level: "error",
  };

  let options = {
    uncaughtException: {
      filename: config.get("uncaughtExceptionHandler"),
      handleExceptions: true,
    },
    uncaughtRejection: {
      filename: config.get("rejectionHandler"),
      handleRejections: true,
    },
    console: {
      format: logFormat,
      colorize: true,
      prettyPrint: true,
    },
    database: {
      level: "info",
      collection: "exceptionLog",
      db: config.get("connectionstring"),
      options: { useUnifiedTopology: true },
      metaKey: "metadata",
    },
  };

  return createLogger({
    format: combine(
      timestamp(),
      errors({ stack: true }),
      logFormat,
      json(),
      metadata()
    ),
    transports: [
      new transports.File(
        Object.assign(options.uncaughtException, fileProperty)
      ),
      new transports.MongoDB(options.database),
    ],
    rejectionHandlers: [
    new transports.File(
       Object.assign(options.uncaughtRejection, fileProperty)
      ),
    ],
    exitOnError: false,
  });
}

module.exports = { buildDevLogger, error};

 

Здесь, в индексном файле, я просто выдаю ошибку отклонения обещания. Код приведен ниже

 process.on("unhandledRejection", (ex) => {
  console.log("UNHANDLED REJECTION DETECTED!!!!");
  logger.error(ex.message, ex);
  process.exit(1);
});

const p = Promise.reject(new Error("Something failed!!!"));
p.then(() => console.log("Done"));