嘿!
最近我接到一个任务,要将Laravel 5.2提升到5.6。看起来还不错......直到我尝试执行\Log::info()
。每次我运行它,都会出现一个大错误,但最后,它仍然打印到日志。我看到了关于创建config/logger.php
的5. 6文档。我从Github获取了它的新副本。之后我做的唯一一件事就是设置一个env变量使LOG_CHANNEL
为single。
[2018-03-02 08:28:59]拉瑞维尔.紧急情况:无法创建已配置的记录器。正在使用紧急记录器。{“exception”:“[object](InvalidArgumentException(代码:0):日志[]没有定义。在I:\xampp\htdocs\mtm\vendor\laravel\framework\src\Illuminate\Log\日志管理器。
我在Laravel 5.2和5.6之间做了一个文件比较。我没有看到任何会破坏日志记录功能的东西。
有人在升级Laravel时遇到过这种情况吗?
9条答案
按热度按时间ttygqcqt1#
将此文件添加到配置文件夹https://github.com/laravel/laravel/blob/5.6/config/logging.php
并将其添加到.env文件
LOG_CHANNEL=stack
中之后不要忘记运行
php artisan config:clear
命令。ni65a41a2#
由于我的laravel版本从5. 3升级到5. 7,我也面临着同样的问题。但是在搜索了几个薄荷糖之后,我找到了解决方案。你只需要按照下面的步骤操作。
1.在config文件夹中创建logging.php文件。
1.从Laravel的Official Link复制代码。
1.将此代码粘贴到logging.php文件中。
1.运行这个命令-- php artisan配置:清除
全部完成。快乐编码:)
m2xkgtsf3#
我也遇到了同样的问题,试着像你一样做每件事,但没有效果。
最后,我发现这是因为缓存的配置,只要清除它,一切都会很好:
iklwldmw4#
我最近在我的开发机器上遇到了同样的错误(奇怪的是,不是在生产机器上),在我的开发机器上我同时安装了
php 7.1
和php 7.2
,检查phpinfo()
,我发现7.1是默认版本,所以我决定切换到7.2。这并没有解决问题(但可能是问题的一部分)。
在花了几个小时尝试网络上建议的一切之后,我找到了我的解决方案:
1.正在检查存储文件夹中的所有权限。
1.在我的项目文件夹中,清除所有该高速缓存和配置。
1.正在转储所有编写器自动加载文件。
详细内容:
在此之后,我没有任何问题了。也许尝试0755作为存储文件夹的权限。希望这有帮助!
js5cn81o5#
使用upgrade guide,并将
logging.php
添加到配置文件中。6qqygrtg6#
经过两天的研究,我在Github上找到了一个解决方案。
如果您使用的是Laravel 5.5.4到Laravel 5.6.*,那么您只需安装和配置Graham坎贝尔的例外包即可。
链接:https://github.com/GrahamCampbell/Laravel-Exceptions
这在MacOSX(PHP7.1.7)和Laravel5.6.22上非常适合我
我的初始错误:
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)
wxclj1h57#
在我的例子中,
APP_LOG=
在**.env**文件中是空的,所以我将其保存为APP_LOG=single
,它工作了。kt06eoxx8#
我也遇到了同样的问题,原来我不小心移动了config文件夹。如果你发现自己也遇到了同样的情况,(可能和我一样尴尬)把它移回你项目的根文件夹。
问候
qlckcl4x9#
好的,我知道了看看官方库,复制日志配置配置代码:
链接:https://github.com/laravel/laravel/blob/5.6/config/logging.php
在项目的config目录中创建logging.php文件将代码复制到
清除该高速缓存:php artisan配置:清除
就这样,继续踩...