Простой вход в приложение .NET Core на Elastic Beanstalk

#amazon-web-services #asp.net-core #logging #.net-core #amazon-elastic-beanstalk

#amazon-веб-сервисы #asp.net-core #регистрация #.net-core #amazon-elastic-beanstalk

Вопрос:

Я только начинаю добавлять некоторые ASP.NET Основные приложения на эластичном бобовом стебле. Я хочу сначала выполнить простое ведение журнала, чтобы отследить некоторые проблемы. Обычно я использую Serilog, но на данный момент мне просто нужно получить некоторую информацию в журнале, который я могу просмотреть.

Я вижу, что он фиксирует исключения в /var/log/web.stdout.log (работает в Linux).

Могу ли я просто записать файловый приемник Serilog в один из этих файлов?

Я в конечном итоге внедрю Cloudwatch, но сейчас я ищу что-то простое.

Комментарии:

1. Если вы используете Elastic Beanstalk, вам следует записать в стандартный вывод и позволить Elastic Beanstalk управлять журналами

Ответ №1:

Вы не можете записывать напрямую, /var/log/web.stdout.log поскольку файл принадлежит root , и ваше приложение выполняется под webapp пользователем. Вам будет отказано в доступе, если вы попытаетесь изменить файл журнала напрямую.

Но вы можете указать EB, какие файлы журналов, специфичные для вашего приложения, включать в его пакеты. Это делается через .ebextensions . В частности, у вас может быть конфигурационный файл .ebextensions/mylogfiles.config с примерным содержимым:

 files: 
  "/opt/elasticbeanstalk/config/private/logtasks/bundle/mylogfiles.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
       /var/app/current/logs/*.log
  

где /var/app/current/log/*.log нужно будет настроить, как ваше приложение хранит свои журналы.

Комментарии:

1. Спасибо — где мне создать .ebextensions? Это в корне моего приложения?

2. @JoeD Нет проблем. Да, более подробная информация здесь .