我试图实现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');
});
答案 0 :(得分:3)
环境变量中的问题,因为它不是local
。
只是自动错误或缺乏关注:)
答案 1 :(得分:2)
/*
|--------------------------------------------------------------------------
| 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;
Route::get('/', function () {
Log::info('General information log');
return view('welcome');
});