#laravel #heroku
Вопрос:
У меня есть проект laravel 8, размещенный в heroku. Я пытаюсь делать журналы, подобные моей среде разработки.
В моей среде разработки у меня есть этот файл .env (извлечь) :
LOG_CHANNEL=daily
LOG_LEVEL=debug
И эта конфигурация в моем logging.php файл (извлечение) :
'channels' => [
.....
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14,
],
....
При этом у меня есть один файл в день, и журналы хранятся автоматически 14 дней. Это очень полезно.
Я хочу воспроизвести то же самое в heroku hosting.
Как это сделать? Это хорошая практика? Как у вас дела на вашей стороне?
Комментарии:
1. да, это хорошая практика…
2. итак, после развертывания laravel перестает генерировать журналы в течение 14 дней. Я прав
Ответ №1:
В чем путаница с Heroku? Там будет работать то же самое. Если у вас новое приложение, конечно, вы хотите проверить журналы. Я отслеживаю их во всех приложениях, даже если они стабильны.
Журналы хранятся в течение 14 дней, а затем удаляются. Будут сгенерированы новые. https://laravel.com/docs/8.x/logging
Одна вещь, которую трудно понять, — это как получить журналы из Laravel в Heroku.
Ответ заключается в том, что вам нужно подключиться по ssh к экземпляру Heroku, но…на самом деле вы не входите в «ящик», вместо этого вы переходите, так сказать, к копии сеанса.
Итак, если вы согласны с работой в терминале, установите Heroku Cli https://devcenter.heroku.com/articles/heroku-cli а потом напиши
SSH: heroku ps:exec --app appname
https://devcenter.heroku.com/articles/heroku-cli-commands#heroku-ps-exec
Вы также можете получить файл напрямую, написав:
heroku ps:copy --app appname storage/logs/laravel.log -o /Users/Yourname/Downloads/laravel.log
и он загрузит журнал. Ofc проверяет пути и имена файлов, поскольку они могут содержать даты и т. Д.
.env находится в Settings> Config Vars> Reveal Config Vars, но вы, вероятно, это уже поняли?
Надеюсь, это сработает!