Skip to content
Error formatter for Laravel 5
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Total Downloads Latest Stable Version License


Error formatter for Laravel 5.1 or later. Provides a convenient display as HTML-page and in the browser console. Provides an enhanced view of the stack trace (viewing the contents of the arguments: array, closure, resource, string; and view PHPDoc classes and methods). Provides the opportunity to configure custom pages 404 and 500.


$ composer require peraleks/laravel-pretty-errors


Copy file vendor/peraleks/laravel-pretty-errors/src/Config/pretty-errors.php to Laravel config_path (app/config).

Add code to App\Exceptions\Handler :

use Peraleks\LaravelPrettyErrors\Core\PrettyHandler;
use Symfony\Component\Debug\Exception\FlattenException;
use Symfony\Component\HttpFoundation\Response as SymfonyResponse;

    protected function convertExceptionToResponse(Exception $e)
        $html = PrettyHandler::format($e, config_path('pretty-errors.php'));

        $e = FlattenException::create($e);

        return SymfonyResponse::create($html, $e->getStatusCode(), $e->getHeaders());


File pretty-errors.php

$development = [

    \Peraleks\LaravelPrettyErrors\Notifiers\HtmlNotifier::class => [
        'enabled'       => true,   // [bool] switch error display as html
        'handleTrace'   => E_ALL,  // [int]  switch trace processing (bitwise mask)
        'simpleTrace'   => true,   // [bool] switch display arguments in trace
        'hideTrace'     => true,   // [bool] switch trace display on start
        'fontSize'      => 15,     // [int]  main font size in pixels (works as a scale)
        'stringLength'  => 80,     // [int]  line length in cells
        'tooltipLength' => 1000,   // [int]  line length in extended view
        'arrayLevel'    => 2,      // [int]  nesting level of arrays

    \Peraleks\LaravelPrettyErrors\Notifiers\BrowserConsoleNotifier::class => [
        'enabled'        => true,  // [bool]   switch error display in browser console
        'handleTrace'    => E_ALL, // [int]    switch trace processing (bitwise mask)
        'phpNativeTrace' => true,  // [bool]   switch PHP native trace display 
        'console'        => 'log', // [string] browser console section (error|warn|info|log|debug)

$production = [

    \Peraleks\LaravelPrettyErrors\Notifiers\ProductionNotifier::class => [
        'enabled' => true,         // [bool]   switch error page display in production
        'file404' => '',           // [string] fully qualified file name or blade-template name
        'file500' => '',           // [string] fully qualified file name or blade-template name
        /* For blade-template, write 'view.404' where '404' is the name for 404.blade.php .
         You can use native PHP template. To do this, enter the fully qualified file name.
         The file may not be a template, but must return or print a string.
         For example, a file can contain such a code:
         return "<h2>Page not found</h2>";
         echo view('404')->render();


The MIT License (MIT).

You can’t perform that action at this time.