4

我正在尝试实现独白,以便它输出到 chrome 控制台。到目前为止,我有这个,但是当我记录一条消息时,它不会输出任何东西。

为了完成我错过的这项工作,还有什么需要做的吗?

过去在 CakePHP 或 CodeIgniter 中,我拉入 ChromePHP 并通过键入输出到控制台ChromePhp::log();,但似乎 Laravel 使用 Monolog 有一种更简洁的方式来执行此操作。

AppServiceProvider.php

<?php

namespace TNC\Providers;

use Log;
use Monolog\Handler\ChromePHPHandler;
use Monolog\Formatter\ChromePHPFormatter;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Log::listen(function () {

            $monolog = Log::getMonolog();

            if (env('APP_ENV') === 'local') {
                $monolog->pushHandler($chromeHandler = new ChromePHPHandler());
                $chromeHandler->setFormatter(new ChromePHPFormatter());
            }
        });
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

路由.php

Route::get('/', function () {

    Log::info('General information log');

    return view('foundation.score');
});
4

2 回答 2

3

环境变量中的问题,因为它不是local. 只是自动错误或缺乏关注:)

于 2016-01-08T08:17:40.743 回答
2

引导程序/app.php

/*
|--------------------------------------------------------------------------
| Custom Monolog Configuration
|--------------------------------------------------------------------------
|
| https://laravel.com/docs/5.2/errors#configuration
|
*/

$app->configureMonologUsing(function($monolog) {
    if (app()->environment('local')) {
        $monolog->pushHandler($chromeHandler = new Monolog\Handler\ChromePHPHandler());
        $chromeHandler->setFormatter(new Monolog\Formatter\ChromePHPFormatter);
    }
});

// ...

return $app;

应用程序/Http/routes.php

Route::get('/', function () {
    Log::info('General information log');

    return view('welcome');
});

截屏

铬控制台

于 2016-01-08T00:26:40.700 回答