#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 Нет проблем. Да, более подробная информация здесь .