Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[HttpKernel][ErrorHandler] Undocumented BC with logging #53430

Copy link
Copy link
Closed
@radar3301

Description

@radar3301
Issue body actions

Symfony version(s) affected

6.4

Description

https://github.com/symfony/symfony/blob/6.4/src/Symfony/Component/ErrorHandler/CHANGELOG.md
nor
https://github.com/symfony/symfony/blob/6.4/CHANGELOG-6.4.md

do not document the Breaking Change from 6.3 in Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer
for the now required Symfony\Component\HttpKernel\Log\DebugLoggerConfigurator on line 143

How to reproduce

composer init
composer require symfony/error-handler

Create an index.php file with the contents:

<?php

use Symfony\Component\ErrorHandler\BufferingLogger;
use Symfony\Component\ErrorHandler\DebugClassLoader;
use Symfony\Component\ErrorHandler\ErrorHandler;

require __DIR__ . '/vendor/autoload.php';

ErrorHandler::register(new ErrorHandler(new BufferingLogger(), true));

throw new \RuntimeException();

Run php -S localhost:8000 index.php and navigate to localhost:8000

Result:
Fatal error: Uncaught Symfony\Component\ErrorHandler\Error\ClassNotFoundError: Attempted to load class "DebugLoggerConfigurator" from namespace "Symfony\Component\HttpKernel\Log".
Did you forget a "use" statement for another namespace? in D:\php\symfony-error-handler-test\vendor\symfony\error-handler\ErrorRenderer\HtmlErrorRenderer.php:143
Stack trace:
#0 D:\php\symfony-error-handler-test\vendor\symfony\error-handler\ErrorRenderer\HtmlErrorRenderer.php(70): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->renderException()
#1 D:\php\symfony-error-handler-test\vendor\symfony\error-handler\ErrorHandler.php(645): Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer->render()
#2 D:\php\symfony-error-handler-test\vendor\symfony\error-handler\ErrorHandler.php(531): Symfony\Component\ErrorHandler\ErrorHandler->renderException()
#3 [internal function]: Symfony\Component\ErrorHandler\ErrorHandler->handleException()
#4 {main}
thrown in D:\php\symfony-error-handler-test\vendor\symfony\error-handler\ErrorRenderer\HtmlErrorRenderer.php on line 143

Expected result (without the requirement of having to composer require symfony/http-kernel):
image

Possible Solution

Options:

  1. Document the breaking change
  2. Move the Symfony\Component\HttpKernel\Log classes into symfony/error-handler (symfony/monolog-bridge and symfony/framework-bundle and symfony/http-kernel both already require symfony/error-handler, see image) image
  3. Revert this change

Option 2 "shouldn't" cause any issues, and will end up requiring less dependencies overall.

Additional Context

none

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.