Вероятно, вы должны использовать 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
.