absszero/laravel-stackdriver-error-reporting

Stackdriver Error Reporting for Laravel

Fund package maintenance!
Ko Fi

Installs: 126 839

Dependents: 0

Suggesters: 0

Security: 0

Stars: 9

Watchers: 2

Forks: 3

Open Issues: 0

Type:laravel

v1.8.0 2024-03-22 12:40 UTC

README

actions/workflows/run-tests.yaml

Requirements

Laravel 5.1 ~ 11.x

Installation

  1. composer require absszero/laravel-stackdriver-error-reporting

  2. This package provides Package Auto-Discovery.

    For Laravel versions before 5.5, you need to add the ServiceProvider in config/app.php

    <?php
    ...
    'providers' => [
        Absszero\ErrorReportingServiceProvider::class,
  3. php artisan vendor:publish --provider="Absszero\ErrorReportingServiceProvider"

Configuration

  1. Get service account credentials with the role logging.logWriter (docs)

  2. Store the key file in your project directory and refer to it in your .env like this:

    GOOGLE_APPLICATION_CREDENTIALS=/My_Authentication.json
    
  3. For Laravel 11 and after versions. Edit bootstrap/app.php.

        ->withExceptions(function (Exceptions $exceptions) {
            $exceptions->report(function (\Throwable $e) {
                (new \Absszero\ErrorReporting)->report($e);
            });
  4. For Laravel 10 and before versions. Edit app/Exceptions/Handler.php.

    For Laravel 9 and after versions.

    <?php
        public function register()
        {
            $this->reportable(function (Throwable $e) {
                (new \Absszero\ErrorReporting)->report($e);
            });
        }

    For PHP version before 7, replace \Throwable with \Exception.

    <?php
        public function report(\Throwable $exception)
        {
            parent::report($exception);
            if ($this->shouldReport($exception)) {
                (new \Absszero\ErrorReporting)->report($exception);
            }
        }

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Credits

TODO: Write credits

License

This project is licensed under the MIT License - see the LICENSE file for details