Laravel 5.6升级导致日志记录中断

cbl*_*793 21 php logging laravel laravel-5.6

Heey!

所以我最近被赋予了将Laravel 5.2提升到5.6的任务.它似乎很好......直到我试图做一个\Log::info().每次我运行它,我都会收到一个很大的错误,但最后,它仍会打印到日志中.我看到了关于创建的5.6文档config/logger.php.我从github那里拿了一份新的副本.之后我唯一做的LOG_CHANNEL就是为单个设置一个env变量.这是我得到的错误:

[2018-03-02 08:28:59] laravel.EMERGENCY:无法创建配置的记录器.使用紧急记录器.{"exception":"[object](InvalidArgumentException(code:0):Log []未定义.在I:\ xampp\htdocs\mtm\vendor\laravel\framework\src\Illuminate\Log\LogManager.php: 181)[....

我在Laravel 5.2和5.6之间进行了文件比较.我没有看到任何跳出来会破坏Logging功能的东西.

有没有人通过Laravel升级遇到这个问题?

小智 22

将此文件添加到配置文件夹 https://github.com/laravel/laravel/blob/develop/config/logging.php

并将其添加到.env文件中 LOG_CHANNEL=stack

  • 该链接已损坏 (4认同)

小智 8

由于我的laravel版本从5.3升级到5.7,因此我遇到了同样的问题。但是在搜寻了几枚薄荷糖之后,我找到了解决方案。您只需要遵循以下步骤。

  1. config文件夹中创建logging.php文件。
  2. 从Laravel的官方链接中复制代码。
  3. 将此代码粘贴到您的logging.php文件中。
  4. 运行此命令-php artisan config:clear

全部做完。快乐编码:)


小智 6

我最近在我的开发机器中遇到了同样的错误(奇怪的是在生产环境中没有)。在我的机器我都php 7.1php 7.2安装。通过进行检查phpinfo(),我发现7.1是默认版本,因此我决定切换到7.2。

sudo a2dismod php7.1
sudo a2enmod php7.2
sudo systemctl restart apache2
Run Code Online (Sandbox Code Playgroud)

那并没有解决问题(但也许是其中的一部分)。

在花了几个小时尝试网络上的所有建议之后,我通过以下方法找到了解决方案:

  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
Run Code Online (Sandbox Code Playgroud)

之后,我再也没有问题了。也许尝试0755作为存储文件夹的权限。希望这可以帮助!


par*_*sss 5

使用升级指南,并添加logging.php到您的配置文件。


Son*_*yen 5

我遇到了同样的问题,试图像您一样做所有事情,但是没有工作。

最后,我发现这是因为缓存了配置,只需清除它,一切都会好起来的:

php artisan config:clear
Run Code Online (Sandbox Code Playgroud)