Bugsnag notifier for the Laravel PHP framework. Monitor and report Laravel errors.

Overview

Bugsnag exception reporter for Laravel and Lumen

Build Status StyleCI Status Documentation

The Bugsnag Notifier for Laravel gives you instant notification of errors and exceptions in your Laravel PHP applications. We support both Laravel and Lumen. Learn more about Laravel error reporting from Bugsnag.

Looking for Laravel 4 support?

v1 of our Laravel package supports Laravel 4. You can find it on our 1.7 branch.

Features

  • Automatically report unhandled exceptions and crashes
  • Report handled exceptions
  • Attach user information and custom diagnostic data to determine how many people are affected by a crash

Getting started

  1. Create a Bugsnag account
  2. Complete the instructions in the integration guide for Laravel or Lumen
  3. Report handled exceptions using Bugsnag::notify()
  4. Customize your integration using the configuration options

Support

Contributing

All contributors are welcome! For information on how to build, test, and release, see our contributing guide.

License

The Bugsnag Laravel library is free software released under the MIT License. See LICENSE.txt for details.

Comments
  • Errors are not sent to Bugsnag in Laravel 5.6

    Errors are not sent to Bugsnag in Laravel 5.6

    Expected behavior

    All Errors are sent to Bugsnag

    Observed behavior

    Only a fraction of the errors are sent to Bugsnag

    Version

    Laravel 5.6.27 (upgraded from 5.4)

    Additional information

    config/app.php bildschirmfoto 2018-07-20 um 19 19 54

    .env bildschirmfoto 2018-07-20 um 19 20 46

    App\Exceptions\Handler bildschirmfoto 2018-07-20 um 19 22 04

    All Errors are logged to storage/laravel.log but not sent to Bugsnag.

    opened by grund3g 37
  • LaravelLogger does not implement Log::listen() and Log::getMonolog(), present in default Log facade

    LaravelLogger does not implement Log::listen() and Log::getMonolog(), present in default Log facade

    Laravel's Log facade has two very handy functions, Log::listen() and Log::getMonolog().

    When Bugsnag's handler is added, it replaces the Log facade handler, but it doesn't implement these methods:

    screenshot 2017-05-08 18 31 58

    These are very handy for console commands, where log messages coming from internal recyclable classes can be captured and displayed as console output.

    Tested with bugsnag/bugsnag-laravel at ^2.5 (2.5.0)

    opened by DfKimera 23
  • Uncaught exception 'ReflectionException' with message 'Class bugsnag.logger does not exist'

    Uncaught exception 'ReflectionException' with message 'Class bugsnag.logger does not exist'

    My composer.json contains:

    "bugsnag/bugsnag-laravel": "^2.0"
    

    Into my config/app.php I have:

    'providers' => [
        ...
        Bugsnag\BugsnagLaravel\BugsnagServiceProvider::class,
        ...
    ]
    

    and:

    'aliases' => [
        ...
        'Bugsnag' => Bugsnag\BugsnagLaravel\Facades\Bugsnag::class,
        ...
    ]
    

    My AppServiceProvider.php contains:

    use Illuminate\Contracts\Logging\Log;
    use Psr\Log\LoggerInterface;
    
        ...
        public function register()
        {
            $this->app->alias('bugsnag.logger', Log::class);
            $this->app->alias('bugsnag.logger', LoggerInterface::class);
        }
    

    In my .env file I set BUGSNAG_API_KEY.

    And I continously get the error (running php artisan serve or composer update, etc):

    PHP Fatal error:  Uncaught exception 'ReflectionException' with message 'Class bugsnag.logger does not exist' in {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php:734
    Stack trace:
    #0 {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php(734): ReflectionClass->__construct('bugsnag.logger')
    #1 {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build('bugsnag.logger', Array)
    #2 {my_project}/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('bugsnag.logger', Array)
    #3 {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php(849): Illuminate\Foundation\Application->make('Psr\\Log\\LoggerI...')
    #4 {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php(804): Illuminate\Container\Container->re in {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 734
    PHP Fatal error:  Uncaught exception 'ReflectionException' with message 'Class bugsnag.logger does not exist' in {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php:734
    Stack trace:
    #0 {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php(734): ReflectionClass->__construct('bugsnag.logger')
    #1 {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build('bugsnag.logger', Array)
    #2 {my_project}/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('bugsnag.logger', Array)
    #3 {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php(849): Illuminate\Foundation\Application->make('Psr\\Log\\LoggerI...')
    #4 {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php(804): Illuminate\Container\Container->re in {my_project}/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 734
    

    What am I doing wrong?

    opened by rickytribbia 19
  • Class bugsnag does not exist

    Class bugsnag does not exist

    Expected behavior

    When php artisan is run it should show a list of all commands

    Observed behavior

    When ran php artisan i got an error

    In Container.php line 752:
                                    
      Class bugsnag does not exist 
    

    Steps to reproduce

    Set APP_ENV to anything but local

    Version

    laravel/framework 5.5.39 bugsnag/bugsnag-laravel 2.4.3

    bug 
    opened by Donkfather 18
  • ReflectionException: Class bugsnag does not exist

    ReflectionException: Class bugsnag does not exist

    Expected behavior

    Tests should run smoothly even though the BugsnagServiceProvider has been added.

    Observed behavior

    When running tests I get the ReflectionException: Class bugsnag does not exist. If I only run the specific test which fails, it runs successfully.

    Removing the BugsnagServiceProvider from the config/app.php file results in no errors are thrown during tests.

    I have followed the instructions from the docs and made sure the BugsnagServiceProvider is above the AppServiceProvider.

    Steps to reproduce

    Not sure how this should be reproduced.

    Version

    v2.14.1

    opened by pactode 13
  • notifyException creates Segmentation fault on Lumen 5.2

    notifyException creates Segmentation fault on Lumen 5.2

    Hi,

    I've noticed that the package segfaults with combination of Lumen 5.2 and PHP 7.0.x. Lumen 5.1 does not seem to be affected. Here are steps to reproduce:

    composer create-project laravel/lumen bugsnag-lumen-test
    cd bugsnag-lumen-test/
    composer require bugsnag/bugsnag-laravel:1.*
    

    Then add these two lines to app/bootstrap.php after line 83 + set the config for API key.

    $app->register('Bugsnag\BugsnagLaravel\BugsnagLumenServiceProvider');
    app('bugsnag')->notifyException(new Exception("Something bad happened"));
    

    If I remove the second line, it works just fine. The backtrace from gdb looks something like this and it just repeats the same three lines.

    Program terminated with signal SIGSEGV, Segmentation fault.
    #0  0x0000000000774e58 in _zval_copy_ctor_func ()
    Traceback (most recent call last):
      File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
        from libstdcxx.v6.printers import register_libstdcxx_printers
    ImportError: No module named 'libstdcxx'
    (gdb) bt
    #0  0x0000000000774e58 in _zval_copy_ctor_func ()
    #1  0x00000000007ec447 in ?? ()
    #2  0x00000000007b1d2b in execute_ex ()
    #3  0x0000000000767109 in dtrace_execute_ex ()
    #4  0x00000000007eea40 in ?? ()
    #5  0x00000000007b1d2b in execute_ex ()
    #6  0x0000000000767109 in dtrace_execute_ex ()
    #7  0x00000000007689fc in zend_call_function ()
    #8  0x0000000000791df4 in zend_call_method ()
    #9  0x00000000007aa300 in zend_std_read_dimension ()
    #10 0x00000000007b2c9b in ?? ()
    #11 0x00000000007b35aa in ?? ()
    #12 0x00000000007b1d2b in execute_ex ()
    #13 0x0000000000767109 in dtrace_execute_ex ()
    #14 0x00000000007eea40 in ?? ()
    #15 0x00000000007b1d2b in execute_ex ()
    #16 0x0000000000767109 in dtrace_execute_ex ()
    #17 0x00000000007eea40 in ?? ()
    #18 0x00000000007b1d2b in execute_ex ()
    #19 0x0000000000767109 in dtrace_execute_ex ()
    #20 0x00000000007f3cfd in ?? ()
    #21 0x00000000007b1d2b in execute_ex ()
    #22 0x0000000000767109 in dtrace_execute_ex ()
    #23 0x00000000007eea40 in ?? ()
    #24 0x00000000007b1d2b in execute_ex ()
    #25 0x0000000000767109 in dtrace_execute_ex ()
    #26 0x00000000007eea40 in ?? ()
    #27 0x00000000007b1d2b in execute_ex ()
    #28 0x0000000000767109 in dtrace_execute_ex ()
    
    opened by lasselehtinen 13
  • Reporting unhandled exceptions in Laravel not working

    Reporting unhandled exceptions in Laravel not working

    Describe the bug

    We have followed the installation and configuration documentation for adding BugSnag to our Laravel application: https://docs.bugsnag.com/platforms/php/laravel/

    Our Laravel app is within a docker container. We have our API key as an env variable.

    Our logging.php is lengthy, but here are the relevant parts:

    return [
        'default' => env('LOG_CHANNEL', 'dev_stack'),
        'channels' => [
            'dev_stack' => [
                'driver' => 'stack',
                'channels' => ['single_dev', 'bugsnag'],
            ],
    
            // Other channels omitted...
    
            'bugsnag' => [
                'driver' => 'bugsnag',
            ],
        ],
    ];
    

    If I use the Bugsnag client, it works correctly:

    Bugsnag::notifyError('Testing bugsnag notifyError', 'This is the message....');
    dd();
    

    shows here: image

    However, any unhandled exception gets put into our emergency logger and stating Driver [bugsnag] is not supported.

    I saw previous issues of #379 and #333. I have tried:

    1. php artisan config:clear
    2. php artisan clear-compiled
    3. php artisan cache:clear
    4. php artisan optimize:clear
    5. php artisan route:clear

    Unfortunately, none of those resolved the issue.

    Environment

    • Bugsnag version: v3.25.0
    • PHP version: v7.4
    • Composer version: 1.10.19
    • Laravel version: v8.19.0

    Error

    Here is the stacktrace of the error:

    [2021-01-25 17:23:50] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (InvalidArgumentException(code: 0): Driver [bugsnag] is not supported. at /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:205)
    [stacktrace]
    #0 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(118): Illuminate\\Log\\LogManager->resolve()
    #1 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(98): Illuminate\\Log\\LogManager->get()
    #2 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(87): Illuminate\\Log\\LogManager->driver()
    #3 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(245): Illuminate\\Log\\LogManager->channel()
    #4 [internal function]: Illuminate\\Log\\LogManager->Illuminate\\Log\\{closure}()
    #5 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(630): array_map()
    #6 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(343): Illuminate\\Support\\Collection->map()
    #7 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(246): Illuminate\\Support\\Collection->flatMap()
    #8 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(202): Illuminate\\Log\\LogManager->createStackDriver()
    #9 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(118): Illuminate\\Log\\LogManager->resolve()
    #10 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(98): Illuminate\\Log\\LogManager->get()
    #11 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(551): Illuminate\\Log\\LogManager->driver()
    #12 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(238): Illuminate\\Log\\LogManager->error()
    #13 /var/www/html/podchaser-api/app/Exceptions/Handler.php(40): Illuminate\\Foundation\\Exceptions\\Handler->report()
    #14 /var/www/html/podchaser-api/vendor/dingo/api/src/Exception/Handler.php(83): App\\Exceptions\\Handler->report()
    #15 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(49): Dingo\\Api\\Exception\\Handler->report()
    #16 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Pipeline->handleException()
    #17 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #18 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
    #19 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(77): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #20 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
    #21 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #22 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
    #23 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #24 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
    #25 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
    #26 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #27 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
    #28 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #29 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
    #30 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #31 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(694): Illuminate\\Pipeline\\Pipeline->then()
    #32 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(669): Illuminate\\Routing\\Router->runRouteWithinStack()
    #33 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRoute()
    #34 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->dispatchToRoute()
    #35 /var/www/html/podchaser-api/vendor/dingo/api/src/Routing/Adapter/Laravel.php(88): Illuminate\\Routing\\Router->dispatch()
    #36 /var/www/html/podchaser-api/vendor/dingo/api/src/Routing/Router.php(518): Dingo\\Api\\Routing\\Adapter\\Laravel->dispatch()
    #37 /var/www/html/podchaser-api/vendor/dingo/api/src/Http/Middleware/Request.php(126): Dingo\\Api\\Routing\\Router->dispatch()
    #38 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Dingo\\Api\\Http\\Middleware\\Request->Dingo\\Api\\Http\\Middleware\\{closure}()
    #39 /var/www/html/podchaser-api/vendor/laravel/nova/src/Http/Middleware/ServeNova.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #40 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Laravel\\Nova\\Http\\Middleware\\ServeNova->handle()
    #41 /var/www/html/podchaser-api/vendor/fruitcake/laravel-cors/src/HandleCors.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #42 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
    #43 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #44 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
    #45 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #46 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
    #47 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #48 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
    #49 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #50 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
    #51 /var/www/html/podchaser-api/vendor/fruitcake/laravel-cors/src/HandleCors.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #52 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
    #53 /var/www/html/podchaser-api/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #54 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
    #55 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #56 /var/www/html/podchaser-api/vendor/dingo/api/src/Http/Middleware/Request.php(127): Illuminate\\Pipeline\\Pipeline->then()
    #57 /var/www/html/podchaser-api/vendor/dingo/api/src/Http/Middleware/Request.php(103): Dingo\\Api\\Http\\Middleware\\Request->sendRequestThroughRouter()
    #58 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Dingo\\Api\\Http\\Middleware\\Request->handle()
    #59 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
    #60 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then()
    #61 /var/www/html/podchaser-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
    #62 /var/www/html/podchaser-api/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
    #63 {main}
    "} 
    
    opened by fpcorso 12
  • Correct placement of setBeforeNotifyFunction

    Correct placement of setBeforeNotifyFunction

    Where is would be a proper place to put setBeforeNotifyFunction? I have tried into Handler.php@report, however meta data is not being sent when I view in Bugsnag.

    image

    opened by simplenotezy 12
  • Only errors within models are reported

    Only errors within models are reported

    I have a laravel/livewire project and I have noticed that if I encounter an error directly in a model, it send a report to bugsnag. If I try and throw an error in a controller or livewire controller I get the error in my laravel log file but nothing goes to bugsnag. Even if I try and explicitly do a Bugsnag::notifyException() from a controller it does nothing.

    Environment

    Bugnsag-laravel v2.22.0 Bugsnag v3.26.0 PHP 7.4 Composer v2.0.9 Laravel 8.29.0

    Example of error that doesn't make it to Busgnag:

    production.ERROR: Undefined index: value {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined index: value at /var/www/html/vendor/livewire/livewire/src/HydrationMiddleware/PerformDataBindingUpdates.php:18)

    awaiting feedback 
    opened by deanzod 11
  • How could I mark logs from different channels ?

    How could I mark logs from different channels ?

    I use different logging channels in my laravel app. I log them all in bugsnag but it seems I'm unable to filter them then. Does anybody using channels ? How could I do that ?

    thanx

    opened by smknstd 11
  • Error when upgrading to laravel 5.6

    Error when upgrading to laravel 5.6

    PHP Fatal error:  Interface 'Illuminate\Contracts\Logging\Log' not found in /home/vagrant/dev/dealmaker-api/vendor/bugsnag/bugsnag-laravel/src/LaravelLogger.php on line 12
    
    In LaravelLogger.php line 12:
                                                              
      Interface 'Illuminate\Contracts\Logging\Log' not found  
    

    As stated in the title, using Laravel 5.6, upgrading from 5.5. PHP version: 7.1.6.

    scheduled 
    opened by CrixuAMG 11
  • [2.x] Uses `NullableShutdownStrategy` on tests

    [2.x] Uses `NullableShutdownStrategy` on tests

    This pull request fixes a memory leak of this package with Laravel's unit tests, where the Illuminate\Foundation\Application instance is being leaked to PHP's internal shutdown function.

    In other words, Laravel often creates application instances during tests, and bugsnag is registering (for each new test case) a new shutdown function with those application instances.

    With this fix, we're able to decrease the memory usage of a 600 test suite by 14% percent:

    Tests: 600
    Before: 190.50 MB
    After: 168.50 MB
    

    Note, #65 equally needs to merged and tagged.

    awaiting feedback 
    opened by nunomaduro 3
  • PHP 8.1 Deprecated messages

    PHP 8.1 Deprecated messages

    PHP 8.1 Deprecated messages

    PHP Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /var/www/html/vendor/bugsnag/bugsnag/src/Configuration.php on line 362

    Steps to reproduce

    1. Install latest version of Laravel using PHP 8.1
    2. Install the latest version of Bugsnag for Laravel
    3. Enable error logs

    Environment

    • Bugsnag version: 2.22.2
    • PHP version: 8.1
    • Composer version: 2.1.9
    • Laravel version: 8.74.0
    • Lumen version (if any):
    bug backlog 
    opened by aglipanci 7
  • Problem when running with octane

    Problem when running with octane

    Logs are not sent when running my application with octane, it works when serving it "normally".

    If i add bugsnag to the octane.warm configuration and add a listener to octane.listeners."RequestTerminated" that runs Bugsnag::flush(), it works. Is there a (better) way of using this lib with octane?

    Steps to reproduce

    php artisan octane:start Log something with the bugsnag driver/channel.

    Environment

    • Bugsnag version: 2.22
    • PHP version: 8.0
    • Composer version: 2
    • Laravel version: 8.58
    feature request backlog 
    opened by ttrig 6
  • Not reporting failed job on Laravel vapor

    Not reporting failed job on Laravel vapor

    This only happens on a project running on laravel-vapor

    Describe the bug

    Laravel vapor project won't report an error on bugsnag for failed queued job.

    Steps to reproduce

    1. configure logging
                "driver" => "stack",
                "channels" => ["bugsnag", "stderr"],
                "ignore_exceptions" => false,
            ],
    
            "bugsnag" => [
                "driver" => "bugsnag",
            ],
    
    1. Add BugsnagServiceProvider to app.php
    2. setQUEUE_CONNECTION to `'redis', 'sqs' anything other than 'sync'
    3. Create a job and implement ShouldQueue with throw new Exception
    4. Run project and dispatch the job.

    Environment

    • Bugsnag version: 2.21.0
    • PHP version: 7.4
    • Composer version: 2
    • Laravel version: 6.20
    • Lumen version (if any):
    feature request backlog 
    opened by usrNotFound 6
  • Params in Bugsnag is incorrect with non-json data

    Params in Bugsnag is incorrect with non-json data

    Expected behavior

    When something like SOAP or xml is posted to laravel and an exception occurs I would expect to see that in the bugsnag interface under params.

    Observed behavior

    When something like SOAP or xml is posted to laravel and an exception occurs params is an empty array.

    Steps to reproduce

    Post XML data to a route and throw an exception note that the request in bugsnag is empty.

    Version

    Bugsnag: 3.10 Bugsnag Laravel: 2.11.1

    Would something like a "raw" metadata addition be something that could be populated by getContent() rather than just relying on input() to get the post data?

    feature request backlog 
    opened by ragingdave 4
  • Log error aren't going to Bugsnag

    Log error aren't going to Bugsnag

    Expected behavior

    logger()->error('test');
    

    Should go to Bugsnag

    Observed behavior

    It's not going to Bugsnag

    Steps to reproduce

    php artisan tinker
    
    logger()->error('test');
    

    Version

    • laravel/framework: 5.4.36
    • bugsnag/bugsnag-laravel: 2.14.1

    Additional information

    My AppServiceProvider:

    <?php
    
    namespace App\Providers;
    
    use Bugsnag\BugsnagLaravel\BugsnagServiceProvider;
    use Bugsnag\BugsnagLaravel\Commands\DeployCommand;
    use Bugsnag\BugsnagLaravel\Facades\Bugsnag;
    use Illuminate\Contracts\Logging\Log;
    use Illuminate\Support\ServiceProvider;
    use Psr\Log\LoggerInterface;
    
    
    class AppServiceProvider extends ServiceProvider
    {
        public function register()
        {
            if ($this->app->environment('local')) {
                return;
            }
    
            $this->registerBugsnag();
        }
    
        protected function registerBugsnag()
        {
            $this->app->register(BugsnagServiceProvider::class);
            $this->commands(DeployCommand::class);
    
            $this->app->alias('bugsnag.multi', Log::class);
            $this->app->alias('bugsnag.multi', LoggerInterface::class);
            $this->app->alias('Bugsnag', Bugsnag::class);
        }
    }
    
    
    needs discussion 
    opened by dbpolito 7
Releases(v2.25.0)
Provides Fake Chat integration for Symfony Notifier.

Fake Chat Notifier Provides Fake Chat (as email during development) integration for Symfony Notifier. DSN example FAKE_CHAT_DSN=fakechat+email://defau

Symfony 8 May 23, 2022
Provides Message Bird integration for Symfony Notifier.

MessageBird Notifier Provides MessageBird integration for Symfony Notifier. DSN example MESSAGEBIRD_DSN=messagebird://TOKEN@default?from=FROM where:

Symfony 7 May 23, 2022
Fake SMS (as email during development) Notifier Bridge

Fake SMS Notifier Provides Fake SMS (as email during development) integration for Symfony Notifier. DSN example FAKE_SMS_DSN=fakesms+email://default?t

Symfony 17 May 23, 2022
Provides Turbo SMS integration for Symfony Notifier.

TurboSms Notifier Provides TurboSms integration for Symfony Notifier. DSN example TURBOSMS_DSN=turbosms://AUTH_TOKEN@default?from=FROM where: AUTH_TO

Symfony 5 May 23, 2022
Provides SMS77 integration for Symfony Notifier.

Provides SMS77 integration for Symfony Notifier.

Symfony 7 May 23, 2022
Provides Expo integration for Symfony Notifier.

Expo Notifier Provides Expo integration for Symfony Notifier. DSN example EXPO_DSN=expo://TOKEN@default where: TOKEN is your Expo Access Token Resour

Symfony 4 May 23, 2022
Provides One Signal integration for Symfony Notifier.

OneSignal Notifier Provides OneSignal integration for Symfony Notifier. DSN example ONESIGNAL_DSN=onesignal://APP_ID:API_KEY@default?defaultRecipientI

Symfony 7 May 23, 2022
Provides KazInfoTeh integration for Symfony Notifier.

KazInfoTeh Notifier Provides KazInfoTeh integration for Symfony Notifier. DSN example KAZ_INFO_TEH_DSN=kaz-info-teh://USERNAME:PASSWORD@default?sender

Symfony 1 Jun 8, 2022
Provides Engagespot integration for Symfony Notifier.

Provides Engagespot integration for Symfony Notifier.

Symfony 2 May 23, 2022
An SMS notification channel for the PHP framework Laravel.

Laravel SMS notification channel An SMS notification channel for the PHP framework Laravel. Supported SMS gateways: 46elks Cellsynt Telenor SMS Pro Tw

Andreas 2 Jan 22, 2022
Send Firebase push notifications with Laravel php framework.

FCM Notification Channel for Laravel Send Firebase push notifications with Laravel php framework. Installation You can install this package via compos

Ankur Kumar 23 Oct 31, 2022
@Authy notification channel for @Laravel, with the ability to send in-app, sms, and call verification tokens.

Authy Notification Channel for Laravel Authy notification channel for Laravel, with the ability to send in-app, sms, and call verification tokens. Tab

Laravel Notification Channels 57 Dec 19, 2022
Slack notification for Laravel as it should be. Easy, fast, simple and highly testable.

Based on illuminate/mail About Laravel Slack Slack notification for Laravel as it should be. Easy, fast, simple and highly testable. Since it uses On-

Guilherme Pressutto 284 Aug 24, 2022
A package to simplify automating future notifications and reminders in Laravel

Laravel Snooze Schedule future notifications and reminders in Laravel Why use this package? Ever wanted to schedule a future notification to go out at

Thomas Kane 720 Jan 7, 2023
Implementations for different SMS providers for EspoCRM. Can be used for 2-factor authentication or automatic SMS sending via Workflow and BPM tools.

SMS Providers for EspoCRM An installable extension. Supported SMS Providers Twilio Spryng sms77 Setting up Install the extension. At Administration >

EspoCRM - Open Source CRM 11 Nov 30, 2022
Standalone PHP library for easy devices notifications push.

NotificationPusher Standalone PHP library for easy devices message notifications push. Feel free to contribute! Thanks. Contributors Cédric Dugat (Aut

Cédric Dugat 1.2k Jan 3, 2023
:computer: Send notifications to your desktop directly from your PHP script

About JoliNotif JoliNotif is a cross-platform PHP library to display desktop notifications. It works on Linux, Windows or MacOS. Requires PHP >= 7.2 (

JoliCode 1.2k Dec 29, 2022
Takes care of Apple push notifications (APNS) in your PHP projects.

Notificato Notificato takes care of push notifications in your PHP projects. Italian: notificato è: participio passato English: notified Why use Notif

Mathijs Kadijk 223 Sep 28, 2022
A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.

php-pushwoosh A PHP Library to easily send push notifications with the Pushwoosh REST Web Services. First sample, creating a Pushwoosh message // Crea

gomoob 63 Sep 28, 2022