xdebug , , , :
BrowserConsoleHandler script PHP register_shutdown_function(). Laravel . , script, BrowseConsoleHandler, , .
Middleware (http://laravel.com/docs/5.0/middleware), .
/Http/Middleware/LogBrowserConsole.php:
<?php
namespace App\Http\Middleware;
use Illuminate\Contracts\Routing\Middleware;
use Illuminate\Support\Facades\Log;
use Monolog\Handler\BrowserConsoleHandler;
class LogBrowserConsole implements Middleware {
public function handle($request, \Closure $next)
{
$log = Log::getMonolog();
$log->pushHandler(new BrowserConsoleHandler(\Psr\Log\LogLevel::INFO));
$response = $next($request);
$handlers = $log->getHandlers();
$scriptSnippet = "";
foreach($handlers as $handler){
if($handler instanceof BrowserConsoleHandler){
ob_start();
$handler->send();
$scriptSnippet .= ob_get_clean();
}
}
$content = $response->getContent();
$response->setContent($content.$scriptSnippet);
return $response;
}
}
/Http/Kernel.php:
protected $routeMiddleware = [
'log.browserconsole' => 'App\Http\Middleware\LogBrowserConsole'
];
/Http/routes.php:
Route::get('test', ['middleware' => 'log.browserconsole', 'uses'=>'TestController@test']);
, Middleware ,
protected $middleware = [
'App\Http\Middleware\LogBrowserConsole'
];
/Http/Kernel.php.
Route::get('test', 'TestController@test');
Log::debug() .. ( LogHandler, ), script, BrowserConsoleHandler, .
, \Psr\LogLevel::INFO /Http/Middleware/LogBrowserConsole .