ingress-it-solutions/bugtrap

Laravel 5 bug notifier

Downloads

65

Stars

0

Version

v1.3

BugTrap

Laravel 5 package for logging errors to bugtrap.io

Software License

Installation

You can install the package through Composer.

composer require ingress-it-solutions/bugtrap

In case of Laravel 5.5, you still need to manually register this as the service provider has to be the first provider that needs to be registered.

You must install this service provider. Make this the very first provider in list.

// config/app.php
'providers' => [
    // Make this very first provider
    BugTrap\ServiceProvider::class,
    
    //...
    //...
];

Then publish the config and migration file of the package using artisan.

php artisan vendor:publish --provider="BugTrap\ServiceProvider"

And adjust config file (config/bugtrap.php) with your desired settings.

Add to your Exception Handler's (/app/Exceptions/Handler.php by default) report method these line and add the use line:

use BugTrap\BugTrap;
...

public function render(Exception $e, $request)
{
    if ($this->shouldReport($e)) {
        (new BugTrap)->handle($e, $request);
    }

    return parent::report($e);
}

Usage

All that is left to do is to define 3 ENV configuration variables.

BT_KEY=
BT_PROJECT_KEY=
BT_URL=

BT_KEY is your profile key which authorises your account to the API. BT_PROJECT_KEY is your project API key which you receive when creating a project. BT_PROJECT_KEY is your base URL of Bugtrap Installation.

Get these variables at bugtrap.com

Optional

You can also return a specific view if an error has been generated. This eliminates the ugly 'Whoops something went wrong' page.

All you have to do is create a view (500.blade.php) that you return for your user, recommended in the views/errors directory.

Then in your App\Exceptions\Handler.php add the following code inside the render method:

if (($errorView = (new BugTrap)->errorView()) !== false) {
    return $errorView;
}

Make sure you add this before the return parent::render($request, $exception); code.

Example:

/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Exception  $exception
 * @return \Illuminate\Http\Response
 */
public function render($request, Exception $exception)
{
    ...

    if (($errorView = (new BugTrap)->errorView()) !== false) {
        return $errorView;
    }

    return parent::render($request, $exception);
}

License

The bugtrap package is open source software licensed under the license MIT

Contributors

ingress-it-solutions

Author

ingress-it-solutions