localstack Aws журналы cloudwatch - PullRequest
       51

localstack Aws журналы cloudwatch

1 голос
/ 04 августа 2020

Как отправлять журналы в локальные журналы облачных наблюдений с помощью узла.

я использую npm

const winston = require('winston')
const CloudWatchTransport = require('winston-aws-cloudwatch')

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Вероятно, вы должны использовать winston-cloudwatch вместо winston-aws-cloudwatch, потому что он больше используется и поддерживается. Но поскольку выбор за вами, и если вы все еще хотите использовать winston-aws-cloudwatch, вы можете добавить конечную точку в awsConfig к http://localhost:4586, потому что по умолчанию localstack использует 4586 как порт для cloudwatch.

Пример для winston-cloudwatch приведен ниже.

const AWS = require('aws-sdk');
const WinstonCloudWatch = require('winston-cloudwatch');
 
winston.add(new WinstonCloudWatch({
  awsRegion: 'us-east-1',
  logGroupName: 'your-log-group-name',
  logStreamName: 'your-log-stream-name',
  jsonMessage: true,
}));

winston.info('I am done');

или

const AWS = require('aws-sdk');
const WinstonCloudWatch = require('winston-cloudwatch');

const logger = winston.createLogger({
  transports: [
    new WinstonCloudWatch({
      logGroupName: 'log-group-name',
      logStreamName: 'log-stream-name',
      awsRegion: 'us-east-1',
      jsonMessage: true
    })
  ]
});

logger.error('I am done');

Фрагмент может заканчиваться на Invalid token error. Вы можете использовать awslocal iam, чтобы создать пользователя IAM, создать ключ доступа с ним и использовать его.

Возможно, вам потребуется установить awslocal , если вы хотите поиграть с localstack

Чтобы проверить, была ли создана группа журналов или нет, вы можете попробовать с помощью awslocal logs describe-log-groups

Для других команд CLI вы можете обратиться к AWS документации CLI

Для локального можно заменить aws на awslocal.

0 голосов
/ 04 августа 2020

На основе этого примера https://github.com/lazywithclass/winston-cloudwatch/blob/747ae3c2292fdae6c046394938f159b4c7a23802/examples/simple.js

var winston = require('winston'),
WinstonCloudWatch = require('../index');


// when you don't provide a name the default one
// is CloudWatch
winston.add(new WinstonCloudWatch({
  logGroupName: 'testing',
  logStreamName: 'first',
  awsRegion: 'us-east-1'
}));

winston.error('1');

Расширенный пример с использованием winston-cloud

https://github.com/lazywithclass/winston-cloudwatch/blob/747ae3c2292fdae6c046394938f159b4c7a23802/examples/multiple-loggers.js

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