zing/laravel-sentry

Provides sentry context middleware.

3.3.0 2024-03-18 15:03 UTC

README

Build Status Code Coverage Latest Stable Version Total Downloads Latest Unstable Version License Scrutinizer Code Quality 68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f35613935613037346263643338666433386461302f6d61696e7461696e6162696c697479

Requirements

Require Laravel Sentry using Composer:

composer require zing/laravel-sentry

Usage

Add user context

use Zing\LaravelSentry\Middleware\SentryContext;
use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    protected $middleware = [
        // ...
        SentryContext::class,
    ];

    // ...
}

Custom user context

use Zing\LaravelSentry\Middleware\SentryContext;

class CustomSentryContext extends SentryContext
{
    /**
     * @param \Zing\LaravelSentry\Tests\User $user
     *
     * @return array<string, mixed>|mixed[]
     */
    protected function resolveUserContext(string $guard, \Illuminate\Contracts\Auth\Authenticatable $user): array
    {
        if ($guard === 'api') {
            return [
                'id' => $user->getAuthIdentifier(),
                'username' => $user->username,
            ];
        }

        return parent::resolveUserContext($guard, $user);
    }
}

License

Laravel Sentry is an open-sourced software licensed under the MIT license.