Laravel 5.2 Monolog在Chrome控制台中输出

时间:2015-10-14 22:20:33

标签: php google-chrome laravel-5 monolog laravel-5.2

我试图实现monolog,因此它输出到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()
    {
        //
    }
}

Route.php

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

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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');
});

截图

Chrome console