LaraBug / LaraBug by Cannonb4ll

Laravel 6.x/7.x/8.x/9.x bug notifier
313,017
267
11
Package Data
Maintainer Username: Cannonb4ll
Maintainer Contact: dennissmink@gmail.com (Dennis Smink)
Package Create Date: 2016-11-03
Package Last Update: 2024-04-10
Home Page: https://www.larabug.com
Language: PHP
License: MIT
Last Refreshed: 2024-04-17 15:06:11
Package Statistics
Total Downloads: 313,017
Monthly Downloads: 10,782
Daily Downloads: 486
Total Stars: 267
Total Watchers: 11
Total Forks: 58
Total Open Issues: 8

LaraBug

Laravel 5 package for logging errors to larabug.com

Software License

Installation

You can install the package through Composer.

composer require larabug/larabug

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
    LaraBug\ServiceProvider::class,
    
    //...
    //...
];

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

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

And adjust config file (config/larabug.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 LaraBug\LaraBug;
...

public function report(Exception $e)
{
    if ($this->shouldReport($e)) {
        (new LaraBug)->handle($e);
    }

    return parent::report($e);
}

Usage

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

LB_KEY=
LB_PROJECT_KEY=

LB_KEY is your profile key which authorises your account to the API. LB_PROJECT_KEY is your project API key which you receive when creating a project.

Get these variables at larabug.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 LaraBug)->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 LaraBug)->errorView()) !== false) {
        return $errorView;
    }

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

License

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

Contributors

Micheal Mand - https://github.com/Cannonb4ll/LaraBug/pull/2