39

嘿!

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

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

我在 Laravel 5.2 和 5.6 之间进行了文件比较。我没有看到任何会破坏日志记录功能的东西。

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

4

9 回答 9

39

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

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

于 2018-03-02T18:58:15.617 回答
23

I was facing the same issue due to upgrade of my laravel version from 5.3 to 5.7. But after search of few mints i found the solution. You just need to follow the following steps.

  1. create logging.php file inside the config folder.
  2. Copy code from this Official Link of Laravel.
  3. Past this code into your logging.php file.
  4. run this command -- php artisan config:clear

All done. Happy Coding :)

于 2019-05-02T10:55:37.683 回答
11

我遇到了同样的问题,并尝试像您一样做所有事情,但没有成功。

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

php artisan config:clear
于 2018-10-10T07:09:31.110 回答
7

我最近在我的开发机器上遇到了同样的错误(奇怪的是,在生产机器上却没有)。在我的开发机器中,我已经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 作为存储文件夹的权限。希望这可以帮助!

于 2018-03-05T16:39:58.110 回答
5

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

于 2018-07-21T06:34:03.823 回答
4

经过两天的研究,我在 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)

于 2018-05-25T15:07:03.257 回答
1

在我的情况下,.envAPP_LOG= 文件中是空白的,所以我将它保存为并且它有效。APP_LOG=single

于 2021-10-19T06:20:44.920 回答
0

我有同样的问题,原来我不小心移动了配置文件夹。如果您发现自己处于同样的情况,(可能和我一样尴尬)将其移回项目的根文件夹。

问候

于 2021-11-26T08:01:17.657 回答
0

好吧,我知道了,看看官方库,复制log config配置代码:</p>

链接:https://github.com/laravel/laravel/blob/5.6/config/logging.php

在项目的配置目录中创建 logging.php 文件,将代码复制到

清除缓存:php artisan config:clear

而已。继续跺脚……

于 2021-12-03T13:29:40.957 回答