Laravel 5.6 Обновление привело к сбою регистрации

Heey!

Поэтому мне недавно была поставлена задача взять Laravel 5.2 до 5.6. Казалось, все в порядке... пока я не попытался сделать \Log::info(). Каждый раз, когда я запускаю его, я получаю большую ошибку, но в конце он все равно печатает в журнале. Я увидел документацию 5.6 по созданию config/logger.php. Я взял новую копию из github. Единственное, что я сделал после этого, - установить переменную env для LOG_CHANNEL которая будет одиночной. Вот ошибка, которую я получаю:

[2018-03-02 08:28:59] laravel.EMERGENCY: невозможно создать настроенный регистратор. Использование аварийного регистратора. {"exception": "[object] (InvalidArgumentException (код: 0): Log [] не определен: в I:\xampp\htdocs\mtm\vendor\laravel\framework\src\Illuminate\Log\LogManager.php: 181) [....

Я провел сравнение файлов между Laravel 5.2 и 5.6. Я не вижу ничего, что выпрыгивает, что нарушит работу Logging.

Кто-нибудь сталкивался с этим с обновлением Laravel?

Ответы

Ответ 2

Недавно у меня была такая же ошибка на моей машине разработки (а не на производственной, как ни странно). В моей машине разработки у меня установлены как php 7.1 и php 7.2. Проверяя с помощью phpinfo(), я обнаружил, что 7.1 была стандартной версией, поэтому я решил переключиться на 7.2.

sudo a2dismod php7.1
sudo a2enmod php7.2
sudo systemctl restart apache2

Это не решило проблему (но, возможно, было ее частью).

После нескольких часов, потраченных на то, чтобы попробовать все, что было предложено в Интернете, я нашел свое решение:

  1. Проверка всех разрешений в папке хранилища.
  2. В моей папке проекта очистка всех кеш (ов) и конфигураций (ов).
  3. Сбрасывание всех файлов автозагрузки композитора.

В деталях:

cd your_project_full_path
sudo chmod -R 0775 storage
sudo chown -R www-data:www-data storage
php artisan config:clear
php artisan view:clear
php artisan route:clear
composer dump-autoload

После этого у меня больше не было проблем. Возможно, попробуйте 0755 в качестве разрешения для папки хранения. Надеюсь это поможет!

Ответ 4

У меня такая же проблема, и я старался делать все, как вы, но не работал.

Наконец, я обнаружил, что это из-за кэшированной конфигурации, просто очистите ее, и все будет хорошо:

php artisan config:clear

Ответ 5

После двух дней некоторых исследований я нашел решение на Github.

Если вы используете Laravel 5.5.4 для Laravel 5.6. *, То вы можете просто установить и настроить пакет исключений Graham Campbell.

Ссылка: https://github.com/GrahamCampbell/Laravel-Exceptions

Это отлично сработало для меня на Mac OSX (PHP 7.1.7), Laravel 5.6.22

Моя первоначальная ошибка:

2018-05-25 14:35:07] laravel.EMERGENCY: Unable to create configured logger. 

Using emergency logger. {"exception":"[object] (InvalidArgumentException(code: 0): Log [] is not defined. at/Users/pro/Sites/metiwave/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:181)

Ответ 6

Я столкнулся с той же проблемой из-за обновления моей версии Laravel с 5.3 до 5.7. Но после поиска нескольких минут я нашел решение. Вам просто нужно выполнить следующие шаги.

  1. создайте файл logging.php внутри папки config.
  2. Скопируйте код с этой официальной ссылки Laravel.
  3. Вставьте этот код в файл logging.php.
  4. выполните эту команду - php artisan config: clear

Все сделано. Удачного кодирования :)