clowdy/laravel-raven

This package is abandoned and no longer maintained. The author suggests using the twineis/raven-php package instead.

Sentry (Raven) error monitoring for Laravel with send in background

2.1.7 2016-02-17 11:46 UTC

README

Laravel Raven Sentry (Raven) error monitoring for Laravel 4 & 5 with send in background using queues

Build Status Scrutinizer Code Quality Coverage Status License Latest Version Total Downloads

Sentry (Raven) error monitoring for Laravel 5 with send in background using queues. This will add a listener to Laravel's existing log system. It makes use to Laravel's queues to push messages into the background without slowing down the application.

rollbar

Installation

Add the package to your composer.json and run composer update.

{
    "require": {
        "clowdy/laravel-raven": "2.1.*"
    }
}

Add the service provider in config/app.php:

Clowdy\Raven\RavenServiceProvider::class,

Register the Raven alias:

'Raven' => Clowdy\Raven\Facades\Raven::class,

Looking for a Laravel 4 compatible version?

Checkout the 1.0 branch

Configuration

Publish the included configuration file:

$ php artisan vendor:publish

Change the Sentry DSN by using the RAVEN_DSN env variable or changing the config file:

RAVEN_DSN=your-raven-dsn

This library uses the queue system, make sure your config/queue.php file is configured correctly. You can also specify the connection and the queue to use in the raven config. The connection and queue must exist in config/queue.php. These can be set using the RAVEN_QUEUE_CONNECTION for connection and RAVEN_QUEUE_NAME for the queue.

RAVEN_QUEUE_CONNECTION=redis
RAVEN_QUEUE_NAME=error

The job data can be quite large, ensure you are using a queue that can support large data sets like redis or sqs. If the job fails to add into the queue, it will be sent directly to sentry, slowing down the request, so its not lost.

Usage

To monitor exceptions, simply use the Log facade or helper:

Log::error($exception);

// or

logger()->error($exception);

You can change the logs used by changing the log level in the config by modifying the env var.

RAVEN_LEVEL=error

Event Id

There is a method to get the latest event id so it can be used on things like the error page.

Raven::getLastEventId();

Context information

You can pass additional information as context like this:

Log::error('Oops, Something went wrong', [
    'user' => ['name' => $user->name, 'email' => $user->email]
]);

User data can alternatively be added to the context of any messages sent via a processor, such as the included UserDataProcessor; see below.

Included optional processors UserDataProcessor

This processor attaches data about the current user to the error report.

'processors' => [
    Clowdy\Raven\Processors\UserDataProcessor::class,
],

Or, to configure the UserDataProcessor object:

'processors' => [
    new Clowdy\Raven\Processors\UserDataProcessor([
        'only' => ['id', 'username', 'email'], // This is ['id'] by default; pass [] or null to include all fields
        'appends' => ['normallyHiddenProperty'],
    ]),
],

See the UserDataProcessor source for full details.

LocaleProcessor

This processor attaches to the error report the current application locale as a tag.

'processors' => [
    Clowdy\Raven\Processors\LocaleProcessor::class,
],

Credits

This package was inspired rcrowe/Raven.