Verified Commit 96695551 authored by Dave Long's avatar Dave Long
Browse files

Issue #3377310 by catch, joelpittet, mark_fullmer, smustgrave, TrevorBradley,...

Issue #3377310 by catch, joelpittet, mark_fullmer, smustgrave, TrevorBradley, bkosborne, MWaters, cilefen, capellic: 400 exceptions result from requests for old asset paths which are missing the "theme" query string, possibly from cached pages
parent 93eb2340
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ public function onClientError(ExceptionEvent $event) {
      'status_code' => $exception->getStatusCode(),
    ];
    $this->logger->get('client error')
      ->log($error['severity_level'], Error::DEFAULT_ERROR_MESSAGE, $error);
      ->warning(Error::DEFAULT_ERROR_MESSAGE, $error);
  }

  /**
+16 −2
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
namespace Drupal\KernelTests\Core\EventSubscriber;

use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\Logger\RfcLogLevel;
use Drupal\KernelTests\KernelTestBase;
use Symfony\Component\ErrorHandler\BufferingLogger;
use Symfony\Component\HttpFoundation\Request;
@@ -47,6 +48,18 @@ public function testExceptionLogging() {
      503 => 'php',
    ];

    $level_map = [
      400 => RfcLogLevel::WARNING,
      401 => RfcLogLevel::WARNING,
      403 => RfcLogLevel::WARNING,
      404 => RfcLogLevel::WARNING,
      405 => RfcLogLevel::WARNING,
      408 => RfcLogLevel::WARNING,
      501 => RfcLogLevel::ERROR,
      502 => RfcLogLevel::ERROR,
      503 => RfcLogLevel::ERROR,
    ];

    // Ensure that noting is logged.
    $this->assertEmpty($this->container->get($this->testLogServiceName)->cleanLogs());

@@ -60,11 +73,12 @@ public function testExceptionLogging() {
    ini_set('error_log', $error_log);

    $expected_channels = array_values($channel_map);
    $expected_levels = array_values($level_map);

    $logs = $this->container->get($this->testLogServiceName)->cleanLogs();
    foreach ($expected_channels as $key => $expected_channel) {
      $log_message = $logs[$key][2]['channel'];
      $this->assertEquals($expected_channel, $log_message);
      $this->assertEquals($expected_channel, $logs[$key][2]['channel']);
      $this->assertEquals($expected_levels[$key], $logs[$key][0]);
    }
  }