Регистрация приложения nodejs в DigitalOcean Spaces с использованием Winston - PullRequest
0 голосов
/ 20 сентября 2018

Поддерживает ли Winston объект потока с возможностью записи, который загружается в DigitalOcean Spaces?

Например, s3-streamlogger для объектов S3, но я не смог найти прямой способ использования winstonс пробелами.

1 Ответ

0 голосов
/ 24 сентября 2018

Согласно документации Spaces , Spaces совместим с API-интерфейсом AWS S3:

API-интерфейс Spaces предназначен для обеспечения взаимодействия с Amazon AWS S3 API.В большинстве случаев при использовании клиентской библиотеки установка «конечной точки» или «базового» URL-адреса в $ {REGION} .digitaloceanspaces.com и создание ключа пробелов вместо вашего ключа IAM AWS позволит вам использовать пробелы вместо S3.

Поэтому я в итоге использовал s3-streamlogger с Winston для загрузки журналов в мое пространство:

import   winston          from 'winston';
import { S3StreamLogger } from 's3-streamlogger';

const s3Stream = new S3StreamLogger({
  bucket: "mybucket",
  config: {
    endpoint: 'nyc3.digitaloceanspaces.com',
  },
  access_key_id: "MY_ACCESS_KEY",
  secret_access_key: "MY_SECRET_KEY",
  tags: {type: "mytype", project: "myproject"}
});

const s3Transport = new winston.transports.Stream({
  stream: s3Stream
});

export const logger = winston.createLogger({
  transports: [s3Transport]
});

logger.info('Hello Winston!');

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...