Skip to content

StreamHandler class not found when logging deprecation warnings #41035

Closed
@smknstd

Description

@smknstd
  • Laravel Version: 8.80
  • PHP Version: 8.1
  • Database Driver & Version: mysql 8

Description:

When trying to use deprecation logging feature, some of my endpoint crashes with error 500 and nothing is catched in laravel's logs. I found this in /var/log/nginx/myproject-error.log :

[error] 815505#815505: *1186160 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Class "Monolog\Handler\StreamHandler" not found in /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:175
Stack trace:
#0 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(129): Illuminate\Log\LogManager->createEmergencyLogger()
#1 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(112): Illuminate\Log\LogManager->get()
#2 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(101): Illuminate\Log\LogManager->driver()
#3 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(101): Illuminate\Log\LogManager->channel()
#4 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(72): Illuminate\Foundation\Bootstrap\HandleExceptions->handleDeprecation()
#5 /home/forge/myproject/vendor...PHP message: PHP Fatal error:  Uncaught Error: Class "Monolog\Handler\StreamHandler" not found in /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:175
Stack trace:
#0 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(129): Illuminate\Log\LogManager->createEmergencyLogger()
#1 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(112): Illuminate\Log\LogManager->get()
#2 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(101): Illuminate\Log\LogManager->driver()
#3 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(101): Illuminate\Log\LogManager->channel()
#4 /home/forge/myproject/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(72): Illuminate\Foundation\Bootstrap\HandleExceptions->han

It looks pretty similar to #39938

Steps To Reproduce:

in config/logging.php :


'deprecations' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),

'channels' => [
        ...
        'php_deprecation_warnings' => [
            'driver' => 'single',
            'path' => storage_path('logs/php-deprecation-warnings.log'),
        ],
]

in .env :

LOG_DEPRECATIONS_CHANNEL=php_deprecation_warnings

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions