1.1.0 • Published 2 years ago

infobot-yc-logging-winston-transport v1.1.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

infobot-yc-logging-winston-transport

Транспорт в сервис Yandex Cloud Logging для библиотеки Winston.

Установите пакет через npm:

npm i infobot-yc-logging-winston-transport

Пример использования

Для работы с Yandex Cloud Logging потребуются следующие данные:

  • ID сервисного аккаунта
  • Приватный ключ сервисного аккаунта в формате PEM
  • ID ключа сервисного аккаунта
  • ID группы логирования

Информацию о получении данных сервисных аккаунтов вы найдёте в документации.

const winston = require('winston');
const ycTransport = require('infobot-yc-logging-winston-transport');

const logger = winston.createLogger({
    level: 'silly',
    levels: winston.config.npm.levels,
    format: winston.format.combine(
        winston.format.timestamp({
            format: 'YYYY-MM-DD HH:mm:ss',
        }),
        winston.format.errors({stack: true}),
        winston.format.splat(),
        winston.format.json()
    ),
    transports: [
        new ycTransport({
            ycLoggerServiceAccountID: ID_СЕРВИСНОГО_АККАУНТА,
            ycLoggerKeyID: ID_КЛЮЧА_СЕРВИСНОГО_АККАУНТА,            
            ycLoggerPrivateKey: fs.readFileSync('ПУТЬ_К_ПРИВАТНОМУ_КЛЮЧУ'),
            ycLoggerGroupID: ID_ГРУППЫ_ЛОГИРОВАНИЯ
        })
    ]
});

Отправка записи:

 logger.silly('test message', {sessionID: 12345, serviceID: 'test-app'});

В meta-объекте можно передать строку в поле serviceID, которая будет использована в Yandex Cloud Logging как название ресурса.