Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Call to undefined method Monolog\\Handler\\PsrHandler::pushProcessor() #18

Closed
nathan-io opened this issue Jul 10, 2020 · 5 comments
Closed

Comments

@nathan-io
Copy link

nathan-io commented Jul 10, 2020

We get the exception (full stack trace below) when trying to log exceptions in a Laravel 7.18.0 project, using v1.2.0 of this package.

Here's our config/logging.php:

// ...
    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class],
            'channels' => ['single','bugsnag','papertrail'],
            'ignore_exceptions' => false,
        ],
// ...

And our config/laravel_log_enhancer.php:

<?php

return [
    'log_request_details' => true,

    'log_input_data' => true,

    'log_request_headers' => true,

    'log_session_data' => true,

    'log_memory_usage' => true,

    'log_git_data' => false,

    // You can specify the inputs from the user that should not be logged
    'ignore_input_fields' => ['password', 'confirm_password', 'password_confirmation'],
];
[2020-07-10 04:02:45] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (Error(code: 0): Call to undefined method Monolog\\Handler\\PsrHandler::pushProcessor() at /home/forge/project.com/releases/20200710025358/vendor/freshbitsweb/laravel-log-enhancer/src/LogEnhancer.php:21)
[stacktrace]
#0 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(142): Freshbitsweb\\LaravelLogEnhancer\\LogEnhancer->__invoke()
#1 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(119): Illuminate\\Log\\LogManager->tap()
#2 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Support/helpers.php(558): Illuminate\\Log\\LogManager->Illuminate\\Log\\{closure}()
#3 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(120): with()
#4 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(98): Illuminate\\Log\\LogManager->get()
#5 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(547): Illuminate\\Log\\LogManager->driver()
#6 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(122): Illuminate\\Log\\LogManager->error()
#7 /home/forge/project.com/releases/20200710025358/app/Exceptions/Handler.php(39): Illuminate\\Foundation\\Exceptions\\Handler->report()
#8 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(49): App\\Exceptions\\Handler->report()
#9 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Pipeline->handleException()
#10 /home/forge/project.com/releases/20200710025358/vendor/darkghosthunter/laraguard/src/Http/Middleware/ConfirmTwoFactorCode.php(59): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#11 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): DarkGhostHunter\\Laraguard\\Http\\Middleware\\ConfirmTwoFactorCode->handle()
#12 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#13 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#14 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#16 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#18 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#20 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#21 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#22 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#23 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#25 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#27 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Routing/Router.php(687): Illuminate\\Pipeline\\Pipeline->then()
#29 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRouteWithinStack()
#30 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Routing/Router.php(628): Illuminate\\Routing\\Router->runRoute()
#31 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Routing/Router.php(617): Illuminate\\Routing\\Router->dispatchToRoute()
#32 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Routing\\Router->dispatch()
#33 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#34 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#36 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#38 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#40 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle()
#42 /home/forge/project.com/releases/20200710025358/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#44 /home/forge/project.com/releases/20200710025358/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#46 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(140): Illuminate\\Pipeline\\Pipeline->then()
#48 /home/forge/project.com/releases/20200710025358/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(109): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#49 /home/forge/project.com/releases/20200710025358/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle()
#50 {main}
"}

When I comment out 'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class], from our config, the issue resolves.

Any idea what could be going on here?

Thank you.

@gauravmak
Copy link
Member

The error is Call to undefined method Monolog\\Handler\\PsrHandler::pushProcessor()
Not sure what's happening there. It is related to Monolog. Which version of monolog do you have installed?

Also, try removing some channels and see if it helps.

@nathan-io
Copy link
Author

Hi,

We have Monolog 2.1.0.

Also, try removing some channels and see if it helps.

Not sure exactly what you mean here, or how that could be related... the number of logging channels we define shouldn't be the cause of this.

@nathan-io
Copy link
Author

Tried this in a fresh Laravel 7.19 instance.

The issue does seem to be related to having more than one logging channel. For instance, we get the exception with this:

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class],
            'channels' => ['single','papertrail'],
            'ignore_exceptions' => false,
        ],

or,

            'channels' => ['single','bugsnag'],

This did work, though i'm not sure the enhanced/extra log data came through:

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'tap' => [Freshbitsweb\LaravelLogEnhancer\LogEnhancer::class],
            'channels' => ['single'],
            'ignore_exceptions' => false,
        ],

@gauravmak
Copy link
Member

Does it work if you try only papertrail or bugsnag channel?

@gauravmak
Copy link
Member

Close due to inactivity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants