Nette Tracy for Laravel 5
Better Laravel Exception Handler
- Visualization of errors and exceptions
- Debugger Bar (ajax support @v1.5.6)
- Exception stack trace contains values of all method arguments.
To get the latest version of Laravel Exceptions, simply require the project using Composer:
composer require recca0120/laravel-tracy --dev
Instead, you may of course manually update your require block and run composer update
if you so choose:
{
"require-dev": {
"recca0120/laravel-tracy": "^1.8.14"
}
}
Include the service provider within config/app.php
. The service povider is needed for the generator artisan command.
'providers' => [
...
Recca0120\LaravelTracy\LaravelTracyServiceProvider::class,
...
];
publish
php artisan vendor:publish --provider="Recca0120\LaravelTracy\LaravelTracyServiceProvider"
if you see Route [tracy.bar] not defined. pleace run artisan route:clear
once
artisan route:clear
return [
'enabled' => env('APP_DEBUG') === true,
'showBar' => env('APP_ENV') !== 'production',
'accepts' => [
'text/html',
],
// appendTo: body | html
'appendTo' => 'body',
'editor' => 'subl://open?url=file://%file&line=%line',
'maxDepth' => 4,
'maxLength' => 1000,
'scream' => true,
'showLocation' => true,
'strictMode' => true,
'panels' => [
'routing' => true,
'database' => true,
'view' => true,
'event' => false,
'session' => true,
'request' => true,
'auth' => true,
'html-validator' => true,
'terminal' => true,
],
];
windows
copy <vendor path>/recca0120/laravel-tracy/tools/subl-handler/subl-handler.vbs to any directory where you want to place
double click subl-handler.vbs and select editor (support eclipse, sublime, notepad++, else...)
If you use Vagrant and have issues with the incorrect path being called, you can create a symlink as illustrated at: https://prnt.sc/lpswki
OSX
https://github.com/dhoulb/subl
Prefer PhpStorm, you can edit config/tracy.php
's key of editor
like this:
'editor' => 'phpstorm://open?file=%file&line=%line',
// app/Providers/AppServiceProvider.php
namespace App\Providers;
use Recca0120\LaravelTracy\BarManager;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function boot(BarManager $barManager)
{
$barManager->get('auth')->setUserResolver(function() {
return [
'id' => 'xxx',
'username' => 'xxx',
...
];
});
}
}
web artisan is another package recca0120/terminal
if you install terminal before, this panel will throw errors, please remove folder app/resources/views/vendor/terminal
require __DIR__.'/../vendor/autoload.php';
use Recca0120\LaravelTracy\Tracy;
// before outout
$tracy = Tracy::instance();
$authPanel = $tracy->getPanel('auth');
$authPanel->setUserResolver(function() {
return [
'email' => '[email protected]'
];
});
function sql($sql)
{
$tracy = Tracy::instance();
$databasePanel = $tracy->getPanel('database');
$databasePanel->logQuery($sql);
}
sql('select * from users');
sql('select * from news');
sql('select * from products');