Только регистрация ошибок с AWS Lambda - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь добавить несколько строк кода, чтобы при сбое моей функции AWS Lambda она регистрировалась при сбое и с какими входными параметрами она работала. Следуя документации, я добавил следующие строки:

logger = logging.getLogger()
logger.setLevel(logging.INFO)
logger.info('user {0}'.format(event["user"]))

Они генерируют некоторую информацию, которая доступна из CloudWatch:

08:50:29 - START RequestId: 92d000ad-b01f-11e8-98a6-c32aa1e3e890 Version: $LATEST
08:50:31 - [INFO] 2018-09-04T08:50:31.781Z 92d000ad-b01f-11e8-98a6-c32aa1e3e890 user xxxxxx
08:50:31 - END RequestId: 92d000ad-b01f-11e8-98a6-c32aa1e3e890
08:50:31 - REPORT RequestId: 92d000ad-b01f-11e8-98a6-c32aa1e3e890 Duration: 2513.04 ms Billed Duration: 2600 ms Memory Size: 896 MB Max Memory Used: 37 MB 

Однако, похоже, что каждый отдельный вызов лямбда-функции создает запись в журнале CloudWatch. На самом деле, невозможно определить журналы, связанные со сбоями функции. Возможно ли создать записи журнала только тогда, когда logging записывает информацию? В качестве альтернативы, можно ли установить контейнер S3 для хранения файлов журнала (связанных с ошибками)?

1 Ответ

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

По какой причине вы не используете уровень журнала?

logger.setLevel(logging.ERROR)

Если вам нужно регистрировать все события, и Cloudwatch будет хорошим местом для этого, то вы можете рассмотреть возможность создания фильтра метрик в Cloudwatch \ Logging, чтобы создать оповещения для всех записей, имеющих ключевое слово «error», например .

...