marothyzsolt/laravel-new-relic

Laravel Log Handler for New Relic

2.0.2 2022-09-24 00:31 UTC

This package is auto-updated.

Last update: 2024-10-24 04:43:26 UTC


README

Latest Version on Packagist Total Downloads

Installation

You can install the package via composer:

composer require marothyzsolt/laravel-new-relic

Usage

Change config/logging.php file with the following code:

'single' => [
    'driver' => env('APP_ENV') === 'local' ? 'single' : 'custom',
    'via' => NewRelicLogger::class,
    'path' => storage_path('logs/laravel.log'),
    'level' => env('LOG_LEVEL', 'debug'),
],

You have to specify these the environment variables:

NEW_RELIC_APP_NAME="app-name"
NEW_RELIC_LICENSE_KEY="newrelic-license-key-here"

Custom Extra Data

You can add more data to send to New Relic. Firstly publish the config file.

php artisan vendor:publish --provider="MarothyZsolt\LaravelNewRelic\LaravelNewRelicServiceProvider"

Now you see the config file structure, and you can extend the Closure.

'extra_data' => function (?Request $request, ?Throwable $throwable): array {
    return [
        'fingerprint' => $request->fingerprint(),
    ];
}

Detailed Exception Logging (Optional)

If you want to log exceptions with stacktrace as well, you can use the following. Extends the app/Exceptions/Handler.php

public function register()
{
    $this->reportable(function (Throwable $e) {
        app(\App\Logging\NewRelicLogger::class)->throwable($e);
    });
}

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email zsolt@marothy.me instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.