Heey!
所以我最近被赋予了将Laravel 5.2提升到5.6的任务 . 它似乎很好......直到我试图做 \Log::info()
. 每次我运行它,我都会收到一个很大的错误,但最后,它仍会打印到日志中 . 我看到了关于创建 config/logger.php
的5.6文档 . 我从github那里拿了一份新的副本 . 我之后唯一做的就是为 LOG_CHANNEL
设置一个env变量为单个 . 这是我得到的错误:
[2018-03-02 08:28:59] laravel.EMERGENCY:无法创建配置的 Logger . 使用紧急 Logger . {“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升级遇到这个问题?
5 回答
将此文件添加到配置文件夹https://github.com/laravel/laravel/blob/develop/config/logging.php
并将其添加到.env文件
LOG_CHANNEL=stack
我最近在我的开发机器中遇到了同样的错误(而不是在 生产环境 机器中,奇怪的是) . 在我的开发机器中,我安装了
php 7.1
和php 7.2
. 检查phpinfo()
,我发现7.1是默认版本,所以我决定切换到7.2 .这并没有解决问题(但可能是其中的一部分) .
花了几个小时在网上尝试所有建议后,我找到了我的解决方案:
检查存储文件夹中的所有权限 .
在我的项目文件夹中,清除所有缓存和配置 .
转储所有作曲家自动加载文件 .
详细地:
在此之后,我再也没有问题了 . 也许尝试0755作为存储文件夹的权限 . 希望这可以帮助!
我遇到了同样的问题,并尝试按照你的方式做一切,但没有工作 .
最后,我发现这是因为缓存配置,只需清除它,一切都会好的:
经过两天的研究,我在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上完美适用于我
我最初的错误:
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)
使用upgrade guide,并将
logging.php
添加到配置文件中 .