【问题标题】:Class 'Log' not found找不到类“日志”
【发布时间】:2016-10-12 01:45:15
【问题描述】:

我是 Lumen 和 Laravel 的新手,但我必须使用 Lumen 编写一个 REST API。我已经设置了一个控制器,但我在使用记录器时遇到了问题。 我遵循了文档:Lumen docs

这是我的控制器应用程序/Http/Controllers/DocumentsController.php:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Log;

class DocumentsController extends Controller
{
    public function index()
    {
        Log::info('test');
        return response()->json(['result' => 'Oh hey!']);
    }
}

如果我运行它,我会收到一条错误消息:

DocumentsController.php 第 22 行中的 FatalErrorException:找不到类“日志”

所以 Log 外观似乎有问题(不太确定它们在 Laravel/Lumen 中是如何工作的)。

但如果我更改 Log::info() 调用,手动将日志服务拉出 DI 容器,那么它可以工作:

    $app = app();
    $app->make('log')->info('test');

关于为什么官方文档中描述的外观方法不起作用的任何想法?

【问题讨论】:

    标签: lumen lumen-5.2


    【解决方案1】:

    Doh,当然,在发布这个问题 5 分钟后,我就明白了。我在 Application 基类 (vendor/laravel/lumen-framework/src/Application.php) 中注意到以下别名:

    public function withFacades()
    {
        Facade::setFacadeApplication($this);
    
        if (! static::$aliasesRegistered) {
            static::$aliasesRegistered = true;
    
            class_alias('Illuminate\Support\Facades\Auth', 'Auth');
            class_alias('Illuminate\Support\Facades\Cache', 'Cache');
            class_alias('Illuminate\Support\Facades\DB', 'DB');
            class_alias('Illuminate\Support\Facades\Event', 'Event');
            class_alias('Illuminate\Support\Facades\Gate', 'Gate');
            class_alias('Illuminate\Support\Facades\Log', 'Log');
            class_alias('Illuminate\Support\Facades\Queue', 'Queue');
            class_alias('Illuminate\Support\Facades\Schema', 'Schema');
            class_alias('Illuminate\Support\Facades\URL', 'URL');
            class_alias('Illuminate\Support\Facades\Validator', 'Validator');
        }
    }
    

    这个方法从未被调用过,因为在 bootstrap/app.php 中 $this->withFacades() 调用默认被注释掉了。

    我取消了它的注释,现在它可以工作了。

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 2022-10-13
      • 2013-07-16
      • 2021-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-14
      • 2016-08-24
      相关资源
      最近更新 更多