diff --git a/src/Monolog/Test/MonologTestCase.php b/src/Monolog/Test/MonologTestCase.php
new file mode 100644
index 000000000..34c7724ea
--- /dev/null
+++ b/src/Monolog/Test/MonologTestCase.php
@@ -0,0 +1,71 @@
+<?php declare(strict_types=1);
+
+/*
+ * This file is part of the Monolog package.
+ *
+ * (c) Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Monolog\Test;
+
+use Monolog\Level;
+use Monolog\Logger;
+use Monolog\LogRecord;
+use Monolog\JsonSerializableDateTimeImmutable;
+use Monolog\Formatter\FormatterInterface;
+use Psr\Log\LogLevel;
+
+/**
+ * Lets you easily generate log records and a dummy formatter for testing purposes
+ *
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+class MonologTestCase extends \PHPUnit\Framework\TestCase
+{
+    /**
+     * @param array<mixed> $context
+     * @param array<mixed> $extra
+     *
+     * @phpstan-param value-of<Level::VALUES>|value-of<Level::NAMES>|Level|LogLevel::* $level
+     */
+    protected function getRecord(int|string|Level $level = Level::Warning, string|\Stringable $message = 'test', array $context = [], string $channel = 'test', \DateTimeImmutable $datetime = new JsonSerializableDateTimeImmutable(true), array $extra = []): LogRecord
+    {
+        return new LogRecord(
+            message: (string) $message,
+            context: $context,
+            level: Logger::toMonologLevel($level),
+            channel: $channel,
+            datetime: $datetime,
+            extra: $extra,
+        );
+    }
+
+    /**
+     * @phpstan-return list<LogRecord>
+     */
+    protected function getMultipleRecords(): array
+    {
+        return [
+            $this->getRecord(Level::Debug, 'debug message 1'),
+            $this->getRecord(Level::Debug, 'debug message 2'),
+            $this->getRecord(Level::Info, 'information'),
+            $this->getRecord(Level::Warning, 'warning'),
+            $this->getRecord(Level::Error, 'error'),
+        ];
+    }
+
+    protected function getIdentityFormatter(): FormatterInterface
+    {
+        $formatter = $this->createMock(FormatterInterface::class);
+        $formatter->expects(self::any())
+            ->method('format')
+            ->willReturnCallback(function ($record) {
+                return $record->message;
+            });
+
+        return $formatter;
+    }
+}
diff --git a/src/Monolog/Test/TestCase.php b/src/Monolog/Test/TestCase.php
index ec5751b76..bf40b31fc 100644
--- a/src/Monolog/Test/TestCase.php
+++ b/src/Monolog/Test/TestCase.php
@@ -11,64 +11,13 @@
 
 namespace Monolog\Test;
 
-use Monolog\Level;
-use Monolog\Logger;
-use Monolog\LogRecord;
-use Monolog\JsonSerializableDateTimeImmutable;
-use Monolog\Formatter\FormatterInterface;
-use Psr\Log\LogLevel;
-use ReflectionProperty;
-
 /**
  * Lets you easily generate log records and a dummy formatter for testing purposes
  *
  * @author Jordi Boggiano <j.boggiano@seld.be>
  *
- * @internal feel free to reuse this to test your own handlers, this is marked internal to avoid issues with PHPStorm https://github.com/Seldaek/monolog/issues/1677
+ * @deprecated use MonologTestCase instead.
  */
-class TestCase extends \PHPUnit\Framework\TestCase
+class TestCase extends MonologTestCase
 {
-    /**
-     * @param array<mixed> $context
-     * @param array<mixed> $extra
-     *
-     * @phpstan-param value-of<Level::VALUES>|value-of<Level::NAMES>|Level|LogLevel::* $level
-     */
-    protected function getRecord(int|string|Level $level = Level::Warning, string|\Stringable $message = 'test', array $context = [], string $channel = 'test', \DateTimeImmutable $datetime = new JsonSerializableDateTimeImmutable(true), array $extra = []): LogRecord
-    {
-        return new LogRecord(
-            message: (string) $message,
-            context: $context,
-            level: Logger::toMonologLevel($level),
-            channel: $channel,
-            datetime: $datetime,
-            extra: $extra,
-        );
-    }
-
-    /**
-     * @phpstan-return list<LogRecord>
-     */
-    protected function getMultipleRecords(): array
-    {
-        return [
-            $this->getRecord(Level::Debug, 'debug message 1'),
-            $this->getRecord(Level::Debug, 'debug message 2'),
-            $this->getRecord(Level::Info, 'information'),
-            $this->getRecord(Level::Warning, 'warning'),
-            $this->getRecord(Level::Error, 'error'),
-        ];
-    }
-
-    protected function getIdentityFormatter(): FormatterInterface
-    {
-        $formatter = $this->createMock(FormatterInterface::class);
-        $formatter->expects(self::any())
-            ->method('format')
-            ->willReturnCallback(function ($record) {
-                return $record->message;
-            });
-
-        return $formatter;
-    }
 }
diff --git a/tests/Monolog/Attribute/AsMonologProcessorTest.php b/tests/Monolog/Attribute/AsMonologProcessorTest.php
index 8bee66838..6e3b04c26 100644
--- a/tests/Monolog/Attribute/AsMonologProcessorTest.php
+++ b/tests/Monolog/Attribute/AsMonologProcessorTest.php
@@ -11,12 +11,10 @@
 
 namespace Monolog\Attribute;
 
-use PHPUnit\Framework\TestCase;
-
 /**
  * @requires PHP 8.0
  */
-final class AsMonologProcessorTest extends TestCase
+final class AsMonologProcessorTest extends \Monolog\Test\MonologTestCase
 {
     public function test(): void
     {
diff --git a/tests/Monolog/Attribute/WithMonologChannelTest.php b/tests/Monolog/Attribute/WithMonologChannelTest.php
index 9396e4b34..776a6e8d1 100644
--- a/tests/Monolog/Attribute/WithMonologChannelTest.php
+++ b/tests/Monolog/Attribute/WithMonologChannelTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Attribute;
 
-use PHPUnit\Framework\TestCase;
-
-class WithMonologChannelTest extends TestCase
+class WithMonologChannelTest extends \Monolog\Test\MonologTestCase
 {
     public function test(): void
     {
diff --git a/tests/Monolog/Formatter/ChromePHPFormatterTest.php b/tests/Monolog/Formatter/ChromePHPFormatterTest.php
index f290ba699..32894c7f0 100644
--- a/tests/Monolog/Formatter/ChromePHPFormatterTest.php
+++ b/tests/Monolog/Formatter/ChromePHPFormatterTest.php
@@ -12,9 +12,9 @@
 namespace Monolog\Formatter;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class ChromePHPFormatterTest extends TestCase
+class ChromePHPFormatterTest extends MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\ChromePHPFormatter::format
diff --git a/tests/Monolog/Formatter/ElasticaFormatterTest.php b/tests/Monolog/Formatter/ElasticaFormatterTest.php
index 2698b60a4..d28c60145 100644
--- a/tests/Monolog/Formatter/ElasticaFormatterTest.php
+++ b/tests/Monolog/Formatter/ElasticaFormatterTest.php
@@ -12,9 +12,9 @@
 namespace Monolog\Formatter;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class ElasticaFormatterTest extends TestCase
+class ElasticaFormatterTest extends MonologTestCase
 {
     public function setUp(): void
     {
diff --git a/tests/Monolog/Formatter/ElasticsearchFormatterTest.php b/tests/Monolog/Formatter/ElasticsearchFormatterTest.php
index 438bbfd39..646d10524 100644
--- a/tests/Monolog/Formatter/ElasticsearchFormatterTest.php
+++ b/tests/Monolog/Formatter/ElasticsearchFormatterTest.php
@@ -12,9 +12,9 @@
 namespace Monolog\Formatter;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class ElasticsearchFormatterTest extends TestCase
+class ElasticsearchFormatterTest extends MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\ElasticsearchFormatter::__construct
diff --git a/tests/Monolog/Formatter/FlowdockFormatterTest.php b/tests/Monolog/Formatter/FlowdockFormatterTest.php
index 1b4e81768..5108cafee 100644
--- a/tests/Monolog/Formatter/FlowdockFormatterTest.php
+++ b/tests/Monolog/Formatter/FlowdockFormatterTest.php
@@ -12,9 +12,9 @@
 namespace Monolog\Formatter;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class FlowdockFormatterTest extends TestCase
+class FlowdockFormatterTest extends MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\FlowdockFormatter::format
diff --git a/tests/Monolog/Formatter/FluentdFormatterTest.php b/tests/Monolog/Formatter/FluentdFormatterTest.php
index 318a5ca04..9c4ab9685 100644
--- a/tests/Monolog/Formatter/FluentdFormatterTest.php
+++ b/tests/Monolog/Formatter/FluentdFormatterTest.php
@@ -12,9 +12,9 @@
 namespace Monolog\Formatter;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class FluentdFormatterTest extends TestCase
+class FluentdFormatterTest extends MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\FluentdFormatter::__construct
diff --git a/tests/Monolog/Formatter/GelfMessageFormatterTest.php b/tests/Monolog/Formatter/GelfMessageFormatterTest.php
index cda67e515..bd10d374c 100644
--- a/tests/Monolog/Formatter/GelfMessageFormatterTest.php
+++ b/tests/Monolog/Formatter/GelfMessageFormatterTest.php
@@ -12,9 +12,9 @@
 namespace Monolog\Formatter;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class GelfMessageFormatterTest extends TestCase
+class GelfMessageFormatterTest extends MonologTestCase
 {
     public function setUp(): void
     {
diff --git a/tests/Monolog/Formatter/GoogleCloudLoggingFormatterTest.php b/tests/Monolog/Formatter/GoogleCloudLoggingFormatterTest.php
index 7888caa7e..29c776ecf 100644
--- a/tests/Monolog/Formatter/GoogleCloudLoggingFormatterTest.php
+++ b/tests/Monolog/Formatter/GoogleCloudLoggingFormatterTest.php
@@ -12,10 +12,10 @@
 namespace Monolog\Formatter;
 
 use DateTimeInterface;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 use function json_decode;
 
-class GoogleCloudLoggingFormatterTest extends TestCase
+class GoogleCloudLoggingFormatterTest extends MonologTestCase
 {
     /**
      * @test
diff --git a/tests/Monolog/Formatter/JsonFormatterTest.php b/tests/Monolog/Formatter/JsonFormatterTest.php
index 3e1cee28c..56cef2287 100644
--- a/tests/Monolog/Formatter/JsonFormatterTest.php
+++ b/tests/Monolog/Formatter/JsonFormatterTest.php
@@ -14,9 +14,9 @@
 use Monolog\Level;
 use Monolog\LogRecord;
 use JsonSerializable;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class JsonFormatterTest extends TestCase
+class JsonFormatterTest extends MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\JsonFormatter::__construct
diff --git a/tests/Monolog/Formatter/LineFormatterTest.php b/tests/Monolog/Formatter/LineFormatterTest.php
index 6f08f76d0..37f77dc3c 100644
--- a/tests/Monolog/Formatter/LineFormatterTest.php
+++ b/tests/Monolog/Formatter/LineFormatterTest.php
@@ -11,7 +11,7 @@
 
 namespace Monolog\Formatter;
 
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 use Monolog\Level;
 use PHPUnit\Framework\Attributes\DataProvider;
 use RuntimeException;
@@ -19,7 +19,7 @@
 /**
  * @covers Monolog\Formatter\LineFormatter
  */
-class LineFormatterTest extends TestCase
+class LineFormatterTest extends MonologTestCase
 {
     public function testDefFormatWithString()
     {
diff --git a/tests/Monolog/Formatter/LogglyFormatterTest.php b/tests/Monolog/Formatter/LogglyFormatterTest.php
index de0aeb856..bf12827fc 100644
--- a/tests/Monolog/Formatter/LogglyFormatterTest.php
+++ b/tests/Monolog/Formatter/LogglyFormatterTest.php
@@ -11,9 +11,9 @@
 
 namespace Monolog\Formatter;
 
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class LogglyFormatterTest extends TestCase
+class LogglyFormatterTest extends MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\LogglyFormatter::__construct
diff --git a/tests/Monolog/Formatter/LogmaticFormatterTest.php b/tests/Monolog/Formatter/LogmaticFormatterTest.php
index 00d6536fd..26f6a43c3 100644
--- a/tests/Monolog/Formatter/LogmaticFormatterTest.php
+++ b/tests/Monolog/Formatter/LogmaticFormatterTest.php
@@ -11,12 +11,12 @@
 
 namespace Monolog\Formatter;
 
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
 /**
  * @author Julien Breux <julien.breux@gmail.com>
  */
-class LogmaticFormatterTest extends TestCase
+class LogmaticFormatterTest extends MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\LogmaticFormatter::format
diff --git a/tests/Monolog/Formatter/LogstashFormatterTest.php b/tests/Monolog/Formatter/LogstashFormatterTest.php
index ffb0ee3bc..58d7b5ad7 100644
--- a/tests/Monolog/Formatter/LogstashFormatterTest.php
+++ b/tests/Monolog/Formatter/LogstashFormatterTest.php
@@ -12,9 +12,9 @@
 namespace Monolog\Formatter;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 
-class LogstashFormatterTest extends TestCase
+class LogstashFormatterTest extends MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\LogstashFormatter::format
diff --git a/tests/Monolog/Formatter/MongoDBFormatterTest.php b/tests/Monolog/Formatter/MongoDBFormatterTest.php
index ebe46cbd9..08f1de19b 100644
--- a/tests/Monolog/Formatter/MongoDBFormatterTest.php
+++ b/tests/Monolog/Formatter/MongoDBFormatterTest.php
@@ -15,13 +15,12 @@
 use MongoDB\BSON\Regex;
 use MongoDB\BSON\UTCDateTime;
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 
 /**
  * @author Florian Plattner <me@florianplattner.de>
  */
-class MongoDBFormatterTest extends TestCase
+class MongoDBFormatterTest extends \Monolog\Test\MonologTestCase
 {
     public function setUp(): void
     {
diff --git a/tests/Monolog/Formatter/NormalizerFormatterTest.php b/tests/Monolog/Formatter/NormalizerFormatterTest.php
index b98cfedee..0395e1c20 100644
--- a/tests/Monolog/Formatter/NormalizerFormatterTest.php
+++ b/tests/Monolog/Formatter/NormalizerFormatterTest.php
@@ -11,13 +11,12 @@
 
 namespace Monolog\Formatter;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
 /**
  * @covers Monolog\Formatter\NormalizerFormatter
  */
-class NormalizerFormatterTest extends TestCase
+class NormalizerFormatterTest extends \Monolog\Test\MonologTestCase
 {
     public function testFormat()
     {
diff --git a/tests/Monolog/Formatter/ScalarFormatterTest.php b/tests/Monolog/Formatter/ScalarFormatterTest.php
index 693d47da5..eae84734f 100644
--- a/tests/Monolog/Formatter/ScalarFormatterTest.php
+++ b/tests/Monolog/Formatter/ScalarFormatterTest.php
@@ -12,9 +12,8 @@
 namespace Monolog\Formatter;
 
 use Monolog\JsonSerializableDateTimeImmutable;
-use Monolog\Test\TestCase;
 
-class ScalarFormatterTest extends TestCase
+class ScalarFormatterTest extends \Monolog\Test\MonologTestCase
 {
     private ScalarFormatter $formatter;
 
diff --git a/tests/Monolog/Formatter/SyslogFormatterTest.php b/tests/Monolog/Formatter/SyslogFormatterTest.php
index cf8d814eb..87e528f2a 100644
--- a/tests/Monolog/Formatter/SyslogFormatterTest.php
+++ b/tests/Monolog/Formatter/SyslogFormatterTest.php
@@ -15,9 +15,8 @@
 use Monolog\Level;
 use Monolog\LogRecord;
 use PHPUnit\Framework\Attributes\DataProvider;
-use PHPUnit\Framework\TestCase;
 
-class SyslogFormatterTest extends TestCase
+class SyslogFormatterTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @param mixed[] $context
diff --git a/tests/Monolog/Formatter/WildfireFormatterTest.php b/tests/Monolog/Formatter/WildfireFormatterTest.php
index 06a0fa70f..785c537ef 100644
--- a/tests/Monolog/Formatter/WildfireFormatterTest.php
+++ b/tests/Monolog/Formatter/WildfireFormatterTest.php
@@ -12,9 +12,8 @@
 namespace Monolog\Formatter;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
-class WildfireFormatterTest extends TestCase
+class WildfireFormatterTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Formatter\WildfireFormatter::format
diff --git a/tests/Monolog/Handler/AbstractHandlerTest.php b/tests/Monolog/Handler/AbstractHandlerTest.php
index 4520e9893..789319e44 100644
--- a/tests/Monolog/Handler/AbstractHandlerTest.php
+++ b/tests/Monolog/Handler/AbstractHandlerTest.php
@@ -12,9 +12,8 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
-class AbstractHandlerTest extends TestCase
+class AbstractHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\AbstractHandler::__construct
diff --git a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
index f44fc431d..9d7e29552 100644
--- a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
+++ b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
@@ -11,12 +11,11 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Monolog\Processor\WebProcessor;
 use Monolog\Formatter\LineFormatter;
 
-class AbstractProcessingHandlerTest extends TestCase
+class AbstractProcessingHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\FormattableHandlerTrait::getFormatter
diff --git a/tests/Monolog/Handler/AmqpHandlerTest.php b/tests/Monolog/Handler/AmqpHandlerTest.php
index f60e787ee..a9bf67399 100644
--- a/tests/Monolog/Handler/AmqpHandlerTest.php
+++ b/tests/Monolog/Handler/AmqpHandlerTest.php
@@ -11,14 +11,13 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PhpAmqpLib\Message\AMQPMessage;
 
 /**
  * @covers Monolog\Handler\RotatingFileHandler
  */
-class AmqpHandlerTest extends TestCase
+class AmqpHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testHandleAmqpExt()
     {
diff --git a/tests/Monolog/Handler/BrowserConsoleHandlerTest.php b/tests/Monolog/Handler/BrowserConsoleHandlerTest.php
index 86d233964..74779e1b7 100644
--- a/tests/Monolog/Handler/BrowserConsoleHandlerTest.php
+++ b/tests/Monolog/Handler/BrowserConsoleHandlerTest.php
@@ -11,13 +11,12 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
 /**
  * @covers Monolog\Handler\BrowserConsoleHandlerTest
  */
-class BrowserConsoleHandlerTest extends TestCase
+class BrowserConsoleHandlerTest extends \Monolog\Test\MonologTestCase
 {
     protected function setUp(): void
     {
diff --git a/tests/Monolog/Handler/BufferHandlerTest.php b/tests/Monolog/Handler/BufferHandlerTest.php
index 3f1bfb68f..ddf1a43c9 100644
--- a/tests/Monolog/Handler/BufferHandlerTest.php
+++ b/tests/Monolog/Handler/BufferHandlerTest.php
@@ -11,10 +11,9 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
-class BufferHandlerTest extends TestCase
+class BufferHandlerTest extends \Monolog\Test\MonologTestCase
 {
     private TestHandler $shutdownCheckHandler;
 
diff --git a/tests/Monolog/Handler/ChromePHPHandlerTest.php b/tests/Monolog/Handler/ChromePHPHandlerTest.php
index b4812d0f7..6e530e0aa 100644
--- a/tests/Monolog/Handler/ChromePHPHandlerTest.php
+++ b/tests/Monolog/Handler/ChromePHPHandlerTest.php
@@ -11,14 +11,13 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\Attributes\DataProvider;
 
 /**
  * @covers Monolog\Handler\ChromePHPHandler
  */
-class ChromePHPHandlerTest extends TestCase
+class ChromePHPHandlerTest extends \Monolog\Test\MonologTestCase
 {
     protected function setUp(): void
     {
diff --git a/tests/Monolog/Handler/CouchDBHandlerTest.php b/tests/Monolog/Handler/CouchDBHandlerTest.php
index 289bcf5ab..b3a89455f 100644
--- a/tests/Monolog/Handler/CouchDBHandlerTest.php
+++ b/tests/Monolog/Handler/CouchDBHandlerTest.php
@@ -11,10 +11,9 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
-class CouchDBHandlerTest extends TestCase
+class CouchDBHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testHandle()
     {
diff --git a/tests/Monolog/Handler/DeduplicationHandlerTest.php b/tests/Monolog/Handler/DeduplicationHandlerTest.php
index f617e019f..100bbd530 100644
--- a/tests/Monolog/Handler/DeduplicationHandlerTest.php
+++ b/tests/Monolog/Handler/DeduplicationHandlerTest.php
@@ -12,9 +12,8 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
-class DeduplicationHandlerTest extends TestCase
+class DeduplicationHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\DeduplicationHandler::flush
diff --git a/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php b/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php
index 1f6f2ffb8..ba98e989c 100644
--- a/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php
+++ b/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php
@@ -11,10 +11,9 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
-class DoctrineCouchDBHandlerTest extends TestCase
+class DoctrineCouchDBHandlerTest extends \Monolog\Test\MonologTestCase
 {
     protected function setUp(): void
     {
diff --git a/tests/Monolog/Handler/DynamoDbHandlerTest.php b/tests/Monolog/Handler/DynamoDbHandlerTest.php
index d6a0babb8..8773cca21 100644
--- a/tests/Monolog/Handler/DynamoDbHandlerTest.php
+++ b/tests/Monolog/Handler/DynamoDbHandlerTest.php
@@ -12,10 +12,9 @@
 namespace Monolog\Handler;
 
 use Aws\DynamoDb\DynamoDbClient;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\MockObject\MockObject;
 
-class DynamoDbHandlerTest extends TestCase
+class DynamoDbHandlerTest extends \Monolog\Test\MonologTestCase
 {
     private DynamoDbClient&MockObject $client;
 
diff --git a/tests/Monolog/Handler/ElasticaHandlerTest.php b/tests/Monolog/Handler/ElasticaHandlerTest.php
index 0582912cc..eac80736d 100644
--- a/tests/Monolog/Handler/ElasticaHandlerTest.php
+++ b/tests/Monolog/Handler/ElasticaHandlerTest.php
@@ -13,7 +13,6 @@
 
 use Monolog\Formatter\ElasticaFormatter;
 use Monolog\Formatter\NormalizerFormatter;
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Elastica\Client;
 use Elastica\Request;
@@ -22,7 +21,7 @@
 use PHPUnit\Framework\Attributes\Group;
 
 #[Group('Elastica')]
-class ElasticaHandlerTest extends TestCase
+class ElasticaHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @var Client mock
diff --git a/tests/Monolog/Handler/ElasticsearchHandlerTest.php b/tests/Monolog/Handler/ElasticsearchHandlerTest.php
index f970c31b7..4a559bc01 100644
--- a/tests/Monolog/Handler/ElasticsearchHandlerTest.php
+++ b/tests/Monolog/Handler/ElasticsearchHandlerTest.php
@@ -13,7 +13,6 @@
 
 use Monolog\Formatter\ElasticsearchFormatter;
 use Monolog\Formatter\NormalizerFormatter;
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Elasticsearch\Client;
 use Elastic\Elasticsearch\Client as Client8;
@@ -25,7 +24,7 @@
 
 #[Group('Elasticsearch')]
 #[CoversClass(ElasticsearchHandler::class)]
-class ElasticsearchHandlerTest extends TestCase
+class ElasticsearchHandlerTest extends \Monolog\Test\MonologTestCase
 {
     protected Client|Client8 $client;
 
diff --git a/tests/Monolog/Handler/ErrorLogHandlerTest.php b/tests/Monolog/Handler/ErrorLogHandlerTest.php
index f51d22a6b..fcc2d53ad 100644
--- a/tests/Monolog/Handler/ErrorLogHandlerTest.php
+++ b/tests/Monolog/Handler/ErrorLogHandlerTest.php
@@ -11,7 +11,6 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Monolog\Formatter\LineFormatter;
 
@@ -20,7 +19,7 @@ function error_log()
     $GLOBALS['error_log'][] = \func_get_args();
 }
 
-class ErrorLogHandlerTest extends TestCase
+class ErrorLogHandlerTest extends \Monolog\Test\MonologTestCase
 {
     protected function setUp(): void
     {
diff --git a/tests/Monolog/Handler/FallbackGroupHandlerTest.php b/tests/Monolog/Handler/FallbackGroupHandlerTest.php
index c19306794..a33860b07 100644
--- a/tests/Monolog/Handler/FallbackGroupHandlerTest.php
+++ b/tests/Monolog/Handler/FallbackGroupHandlerTest.php
@@ -13,9 +13,8 @@
 
 use Monolog\Level;
 use Monolog\LogRecord;
-use Monolog\Test\TestCase;
 
-class FallbackGroupHandlerTest extends TestCase
+class FallbackGroupHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\FallbackGroupHandler::__construct
diff --git a/tests/Monolog/Handler/FilterHandlerTest.php b/tests/Monolog/Handler/FilterHandlerTest.php
index 799ee169b..5c77cfe76 100644
--- a/tests/Monolog/Handler/FilterHandlerTest.php
+++ b/tests/Monolog/Handler/FilterHandlerTest.php
@@ -12,9 +12,8 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
-class FilterHandlerTest extends TestCase
+class FilterHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\FilterHandler::isHandling
diff --git a/tests/Monolog/Handler/FingersCrossedHandlerTest.php b/tests/Monolog/Handler/FingersCrossedHandlerTest.php
index ba01b9f63..ae3221e13 100644
--- a/tests/Monolog/Handler/FingersCrossedHandlerTest.php
+++ b/tests/Monolog/Handler/FingersCrossedHandlerTest.php
@@ -12,12 +12,11 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
 use Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy;
 use Psr\Log\LogLevel;
 
-class FingersCrossedHandlerTest extends TestCase
+class FingersCrossedHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\FingersCrossedHandler::__construct
diff --git a/tests/Monolog/Handler/FirePHPHandlerTest.php b/tests/Monolog/Handler/FirePHPHandlerTest.php
index 40fb67821..59ba4ce31 100644
--- a/tests/Monolog/Handler/FirePHPHandlerTest.php
+++ b/tests/Monolog/Handler/FirePHPHandlerTest.php
@@ -11,13 +11,12 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
 /**
  * @covers Monolog\Handler\FirePHPHandler
  */
-class FirePHPHandlerTest extends TestCase
+class FirePHPHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function setUp(): void
     {
diff --git a/tests/Monolog/Handler/FleepHookHandlerTest.php b/tests/Monolog/Handler/FleepHookHandlerTest.php
index 68cd6bed4..96db73560 100644
--- a/tests/Monolog/Handler/FleepHookHandlerTest.php
+++ b/tests/Monolog/Handler/FleepHookHandlerTest.php
@@ -13,12 +13,11 @@
 
 use Monolog\Formatter\LineFormatter;
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
 /**
  * @coversDefaultClass \Monolog\Handler\FleepHookHandler
  */
-class FleepHookHandlerTest extends TestCase
+class FleepHookHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * Default token to use in tests
diff --git a/tests/Monolog/Handler/FlowdockHandlerTest.php b/tests/Monolog/Handler/FlowdockHandlerTest.php
index 90375ced4..2fa7927ca 100644
--- a/tests/Monolog/Handler/FlowdockHandlerTest.php
+++ b/tests/Monolog/Handler/FlowdockHandlerTest.php
@@ -12,14 +12,13 @@
 namespace Monolog\Handler;
 
 use Monolog\Formatter\FlowdockFormatter;
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
 /**
  * @author Dominik Liebler <liebler.dominik@gmail.com>
  * @see    https://www.hipchat.com/docs/api
  */
-class FlowdockHandlerTest extends TestCase
+class FlowdockHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @var resource
diff --git a/tests/Monolog/Handler/GelfHandlerTest.php b/tests/Monolog/Handler/GelfHandlerTest.php
index e96f11660..d01091554 100644
--- a/tests/Monolog/Handler/GelfHandlerTest.php
+++ b/tests/Monolog/Handler/GelfHandlerTest.php
@@ -12,11 +12,10 @@
 namespace Monolog\Handler;
 
 use Gelf\Message;
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Monolog\Formatter\GelfMessageFormatter;
 
-class GelfHandlerTest extends TestCase
+class GelfHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function setUp(): void
     {
diff --git a/tests/Monolog/Handler/GroupHandlerTest.php b/tests/Monolog/Handler/GroupHandlerTest.php
index 9247188b1..ee712dc6a 100644
--- a/tests/Monolog/Handler/GroupHandlerTest.php
+++ b/tests/Monolog/Handler/GroupHandlerTest.php
@@ -12,10 +12,9 @@
 namespace Monolog\Handler;
 
 use Monolog\LogRecord;
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
-class GroupHandlerTest extends TestCase
+class GroupHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\GroupHandler::__construct
diff --git a/tests/Monolog/Handler/HandlerWrapperTest.php b/tests/Monolog/Handler/HandlerWrapperTest.php
index 5836aa88d..3dee9da10 100644
--- a/tests/Monolog/Handler/HandlerWrapperTest.php
+++ b/tests/Monolog/Handler/HandlerWrapperTest.php
@@ -11,14 +11,13 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\MockObject\MockObject;
 
 /**
  * @author Alexey Karapetov <alexey@karapetov.com>
  */
-class HandlerWrapperTest extends TestCase
+class HandlerWrapperTest extends \Monolog\Test\MonologTestCase
 {
     private HandlerWrapper $wrapper;
 
diff --git a/tests/Monolog/Handler/InsightOpsHandlerTest.php b/tests/Monolog/Handler/InsightOpsHandlerTest.php
index 44ec55b30..5e905117a 100644
--- a/tests/Monolog/Handler/InsightOpsHandlerTest.php
+++ b/tests/Monolog/Handler/InsightOpsHandlerTest.php
@@ -11,7 +11,6 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\MockObject\MockObject;
 
@@ -19,7 +18,7 @@
  * @author Robert Kaufmann III <rok3@rok3.me>
  * @author Gabriel Machado <gabriel.ms1@hotmail.com>
  */
-class InsightOpsHandlerTest extends TestCase
+class InsightOpsHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @var resource
diff --git a/tests/Monolog/Handler/LogEntriesHandlerTest.php b/tests/Monolog/Handler/LogEntriesHandlerTest.php
index f574e86bd..3b24ad561 100644
--- a/tests/Monolog/Handler/LogEntriesHandlerTest.php
+++ b/tests/Monolog/Handler/LogEntriesHandlerTest.php
@@ -11,14 +11,13 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\MockObject\MockObject;
 
 /**
  * @author Robert Kaufmann III <rok3@rok3.me>
  */
-class LogEntriesHandlerTest extends TestCase
+class LogEntriesHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @var resource
diff --git a/tests/Monolog/Handler/LogmaticHandlerTest.php b/tests/Monolog/Handler/LogmaticHandlerTest.php
index 24ff9029a..6da433d0f 100644
--- a/tests/Monolog/Handler/LogmaticHandlerTest.php
+++ b/tests/Monolog/Handler/LogmaticHandlerTest.php
@@ -11,14 +11,13 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\MockObject\MockObject;
 
 /**
  * @author Julien Breux <julien.breux@gmail.com>
  */
-class LogmaticHandlerTest extends TestCase
+class LogmaticHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @var resource
diff --git a/tests/Monolog/Handler/MailHandlerTest.php b/tests/Monolog/Handler/MailHandlerTest.php
index ebf5c11df..88253e64f 100644
--- a/tests/Monolog/Handler/MailHandlerTest.php
+++ b/tests/Monolog/Handler/MailHandlerTest.php
@@ -12,9 +12,8 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
-class MailHandlerTest extends TestCase
+class MailHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\MailHandler::handleBatch
diff --git a/tests/Monolog/Handler/MongoDBHandlerTest.php b/tests/Monolog/Handler/MongoDBHandlerTest.php
index d02d32f6b..4c3483995 100644
--- a/tests/Monolog/Handler/MongoDBHandlerTest.php
+++ b/tests/Monolog/Handler/MongoDBHandlerTest.php
@@ -12,12 +12,11 @@
 namespace Monolog\Handler;
 
 use MongoDB\Driver\Manager;
-use Monolog\Test\TestCase;
 
 /**
  * @requires extension mongodb
  */
-class MongoDBHandlerTest extends TestCase
+class MongoDBHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testConstructorShouldThrowExceptionForInvalidMongo()
     {
diff --git a/tests/Monolog/Handler/NativeMailerHandlerTest.php b/tests/Monolog/Handler/NativeMailerHandlerTest.php
index 03e288bcf..14d5eff4a 100644
--- a/tests/Monolog/Handler/NativeMailerHandlerTest.php
+++ b/tests/Monolog/Handler/NativeMailerHandlerTest.php
@@ -12,32 +12,33 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
 function mail($to, $subject, $message, $additional_headers = null, $additional_parameters = null)
 {
     $GLOBALS['mail'][] = \func_get_args();
 }
 
-class NativeMailerHandlerTest extends TestCase
+class NativeMailerHandlerTest extends \Monolog\Test\MonologTestCase
 {
     protected function setUp(): void
     {
         $GLOBALS['mail'] = [];
     }
 
-    protected function newNativeMailerHandler( ... $args ) : NativeMailerHandler
+    protected function newNativeMailerHandler(... $args) : NativeMailerHandler
     {
-        return new class( ... $args ) extends NativeMailerHandler {
-
+        return new class(... $args) extends NativeMailerHandler {
             public $mail = [];
 
-            protected function mail( string $to, string $subject, string $content,
-                                     string $headers, string $parameters ) : void
-            {
+            protected function mail(
+                string $to,
+                string $subject,
+                string $content,
+                string $headers,
+                string $parameters
+            ) : void {
                 $this->mail[] = \func_get_args();
             }
-
         };
     }
 
@@ -121,8 +122,8 @@ public function testMessageSubjectFormatting()
 
     public function testMail()
     {
-        $mailer = new NativeMailerHandler('to@example.org', 'subject', 'from@example.org' );
-        $mailer->addParameter( 'foo' );
+        $mailer = new NativeMailerHandler('to@example.org', 'subject', 'from@example.org');
+        $mailer->addParameter('foo');
         $mailer->handle($this->getRecord(Level::Error, "FooBarBaz"));
         $this->assertNotEmpty($GLOBALS['mail']);
         $this->assertIsArray($GLOBALS['mail']);
@@ -132,7 +133,7 @@ public function testMail()
         $this->assertSame('to@example.org', $params[0]);
         $this->assertSame('subject', $params[1]);
         $this->assertStringContainsString("FooBarBaz", $params[2]);
-        $this->assertStringContainsString( 'From: from@example.org', $params[3] );
-        $this->assertSame( 'foo', $params[4] );
+        $this->assertStringContainsString('From: from@example.org', $params[3]);
+        $this->assertSame('foo', $params[4]);
     }
 }
diff --git a/tests/Monolog/Handler/NewRelicHandlerTest.php b/tests/Monolog/Handler/NewRelicHandlerTest.php
index 17d7e833d..c8a1efc7b 100644
--- a/tests/Monolog/Handler/NewRelicHandlerTest.php
+++ b/tests/Monolog/Handler/NewRelicHandlerTest.php
@@ -12,10 +12,9 @@
 namespace Monolog\Handler;
 
 use Monolog\Formatter\LineFormatter;
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
-class NewRelicHandlerTest extends TestCase
+class NewRelicHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public static $appname;
     public static $customParameters;
diff --git a/tests/Monolog/Handler/NoopHandlerTest.php b/tests/Monolog/Handler/NoopHandlerTest.php
index dd47a8713..4065519ad 100644
--- a/tests/Monolog/Handler/NoopHandlerTest.php
+++ b/tests/Monolog/Handler/NoopHandlerTest.php
@@ -12,13 +12,12 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 
 /**
  * @covers Monolog\Handler\NoopHandler::handle
  */
-class NoopHandlerTest extends TestCase
+class NoopHandlerTest extends \Monolog\Test\MonologTestCase
 {
     #[DataProvider('logLevelsProvider')]
     public function testIsHandling(Level $level)
diff --git a/tests/Monolog/Handler/NullHandlerTest.php b/tests/Monolog/Handler/NullHandlerTest.php
index 59434b49c..99d6f2e54 100644
--- a/tests/Monolog/Handler/NullHandlerTest.php
+++ b/tests/Monolog/Handler/NullHandlerTest.php
@@ -11,13 +11,12 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
 /**
  * @covers Monolog\Handler\NullHandler::handle
  */
-class NullHandlerTest extends TestCase
+class NullHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testHandle()
     {
diff --git a/tests/Monolog/Handler/OverflowHandlerTest.php b/tests/Monolog/Handler/OverflowHandlerTest.php
index e50966f9d..cb62ba4cd 100644
--- a/tests/Monolog/Handler/OverflowHandlerTest.php
+++ b/tests/Monolog/Handler/OverflowHandlerTest.php
@@ -12,13 +12,12 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
 /**
  * @author Kris Buist <krisbuist@gmail.com>
  * @covers \Monolog\Handler\OverflowHandler
  */
-class OverflowHandlerTest extends TestCase
+class OverflowHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testNotPassingRecordsBeneathLogLevel()
     {
diff --git a/tests/Monolog/Handler/PHPConsoleHandlerTest.php b/tests/Monolog/Handler/PHPConsoleHandlerTest.php
index 184d5ac77..e169b65d7 100644
--- a/tests/Monolog/Handler/PHPConsoleHandlerTest.php
+++ b/tests/Monolog/Handler/PHPConsoleHandlerTest.php
@@ -15,7 +15,6 @@
 use Monolog\ErrorHandler;
 use Monolog\Level;
 use Monolog\Logger;
-use Monolog\Test\TestCase;
 use PhpConsole\Connector;
 use PhpConsole\Dispatcher\Debug as DebugDispatcher;
 use PhpConsole\Dispatcher\Errors as ErrorDispatcher;
@@ -28,7 +27,7 @@
  * @covers Monolog\Handler\PHPConsoleHandler
  * @author Sergey Barbushin https://www.linkedin.com/in/barbushin
  */
-class PHPConsoleHandlerTest extends TestCase
+class PHPConsoleHandlerTest extends \Monolog\Test\MonologTestCase
 {
     protected Connector&MockObject $connector;
     protected DebugDispatcher&MockObject $debugDispatcher;
@@ -201,7 +200,7 @@ public function testException()
         $handler = $this->initLogger();
         $handler->log(
             \Psr\Log\LogLevel::ERROR,
-            sprintf('Uncaught Exception %s: "%s" at %s line %s', \get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()),
+            \sprintf('Uncaught Exception %s: "%s" at %s line %s', \get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()),
             ['exception' => $e]
         );
     }
diff --git a/tests/Monolog/Handler/ProcessHandlerTest.php b/tests/Monolog/Handler/ProcessHandlerTest.php
index 2145274b2..d781b85c3 100644
--- a/tests/Monolog/Handler/ProcessHandlerTest.php
+++ b/tests/Monolog/Handler/ProcessHandlerTest.php
@@ -11,11 +11,10 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\Attributes\DataProvider;
 
-class ProcessHandlerTest extends TestCase
+class ProcessHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * Dummy command to be used by tests that should not fail due to the command.
diff --git a/tests/Monolog/Handler/PsrHandlerTest.php b/tests/Monolog/Handler/PsrHandlerTest.php
index 2af8ca9b7..f5166ee0d 100644
--- a/tests/Monolog/Handler/PsrHandlerTest.php
+++ b/tests/Monolog/Handler/PsrHandlerTest.php
@@ -12,14 +12,13 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use Monolog\Formatter\LineFormatter;
 use PHPUnit\Framework\Attributes\DataProvider;
 
 /**
  * @covers Monolog\Handler\PsrHandler::handle
  */
-class PsrHandlerTest extends TestCase
+class PsrHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public static function logLevelProvider()
     {
diff --git a/tests/Monolog/Handler/PushoverHandlerTest.php b/tests/Monolog/Handler/PushoverHandlerTest.php
index b8d452a07..e2ed1ddd3 100644
--- a/tests/Monolog/Handler/PushoverHandlerTest.php
+++ b/tests/Monolog/Handler/PushoverHandlerTest.php
@@ -11,7 +11,6 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\MockObject\MockObject;
 
@@ -21,7 +20,7 @@
  * @author Sebastian Göttschkes <sebastian.goettschkes@googlemail.com>
  * @see https://www.pushover.net/api
  */
-class PushoverHandlerTest extends TestCase
+class PushoverHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /** @var resource */
     private $res;
diff --git a/tests/Monolog/Handler/RedisHandlerTest.php b/tests/Monolog/Handler/RedisHandlerTest.php
index ec92fd1df..845e90e9f 100644
--- a/tests/Monolog/Handler/RedisHandlerTest.php
+++ b/tests/Monolog/Handler/RedisHandlerTest.php
@@ -11,11 +11,10 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Monolog\Formatter\LineFormatter;
 
-class RedisHandlerTest extends TestCase
+class RedisHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testConstructorShouldWorkWithPredis()
     {
diff --git a/tests/Monolog/Handler/RedisPubSubHandlerTest.php b/tests/Monolog/Handler/RedisPubSubHandlerTest.php
index 1dea351fa..3f2aefc0d 100644
--- a/tests/Monolog/Handler/RedisPubSubHandlerTest.php
+++ b/tests/Monolog/Handler/RedisPubSubHandlerTest.php
@@ -13,11 +13,10 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Monolog\Formatter\LineFormatter;
 
-class RedisPubSubHandlerTest extends TestCase
+class RedisPubSubHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testConstructorShouldWorkWithPredis()
     {
diff --git a/tests/Monolog/Handler/RollbarHandlerTest.php b/tests/Monolog/Handler/RollbarHandlerTest.php
index 3496b673d..4d2457891 100644
--- a/tests/Monolog/Handler/RollbarHandlerTest.php
+++ b/tests/Monolog/Handler/RollbarHandlerTest.php
@@ -12,7 +12,6 @@
 namespace Monolog\Handler;
 
 use Exception;
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\MockObject\MockObject;
 use Rollbar\RollbarLogger;
@@ -25,7 +24,7 @@
  *
  * @requires function \Rollbar\RollbarLogger::__construct
  */
-class RollbarHandlerTest extends TestCase
+class RollbarHandlerTest extends \Monolog\Test\MonologTestCase
 {
     private RollbarLogger&MockObject $rollbarLogger;
 
diff --git a/tests/Monolog/Handler/RotatingFileHandlerTest.php b/tests/Monolog/Handler/RotatingFileHandlerTest.php
index 3ada82ade..ae30f5cb8 100644
--- a/tests/Monolog/Handler/RotatingFileHandlerTest.php
+++ b/tests/Monolog/Handler/RotatingFileHandlerTest.php
@@ -12,13 +12,12 @@
 namespace Monolog\Handler;
 
 use InvalidArgumentException;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 
 /**
  * @covers Monolog\Handler\RotatingFileHandler
  */
-class RotatingFileHandlerTest extends TestCase
+class RotatingFileHandlerTest extends \Monolog\Test\MonologTestCase
 {
     private array|null $lastError = null;
 
@@ -84,15 +83,15 @@ private function assertErrorWasTriggered($code, $message)
     {
         if (empty($this->lastError)) {
             $this->fail(
-                sprintf(
+                \sprintf(
                     'Failed asserting that error with code `%d` and message `%s` was triggered',
                     $code,
                     $message
                 )
             );
         }
-        $this->assertEquals($code, $this->lastError['code'], sprintf('Expected an error with code %d to be triggered, got `%s` instead', $code, $this->lastError['code']));
-        $this->assertEquals($message, $this->lastError['message'], sprintf('Expected an error with message `%d` to be triggered, got `%s` instead', $message, $this->lastError['message']));
+        $this->assertEquals($code, $this->lastError['code'], \sprintf('Expected an error with code %d to be triggered, got `%s` instead', $code, $this->lastError['code']));
+        $this->assertEquals($message, $this->lastError['message'], \sprintf('Expected an error with message `%d` to be triggered, got `%s` instead', $message, $this->lastError['message']));
     }
 
     public function testRotationCreatesNewFile()
diff --git a/tests/Monolog/Handler/SamplingHandlerTest.php b/tests/Monolog/Handler/SamplingHandlerTest.php
index a2d93d9c6..f3c4ceb6f 100644
--- a/tests/Monolog/Handler/SamplingHandlerTest.php
+++ b/tests/Monolog/Handler/SamplingHandlerTest.php
@@ -11,12 +11,10 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
-
 /**
  * @covers Monolog\Handler\SamplingHandler::handle
  */
-class SamplingHandlerTest extends TestCase
+class SamplingHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testHandle()
     {
diff --git a/tests/Monolog/Handler/Slack/SlackRecordTest.php b/tests/Monolog/Handler/Slack/SlackRecordTest.php
index 0d1eaf3c8..463ffa3ea 100644
--- a/tests/Monolog/Handler/Slack/SlackRecordTest.php
+++ b/tests/Monolog/Handler/Slack/SlackRecordTest.php
@@ -12,12 +12,11 @@
 namespace Monolog\Handler\Slack;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\Attributes\CoversClass;
 use PHPUnit\Framework\Attributes\DataProvider;
 
 #[CoversClass(SlackRecord::class)]
-class SlackRecordTest extends TestCase
+class SlackRecordTest extends \Monolog\Test\MonologTestCase
 {
     public static function dataGetAttachmentColor()
     {
@@ -252,12 +251,12 @@ public function testAddsShortAttachmentWithContextAndExtra()
             [
                 [
                     'title' => 'Extra',
-                    'value' => sprintf('```%s```', json_encode($extra, JSON_PRETTY_PRINT)),
+                    'value' => \sprintf('```%s```', json_encode($extra, JSON_PRETTY_PRINT)),
                     'short' => false,
                 ],
                 [
                     'title' => 'Context',
-                    'value' => sprintf('```%s```', json_encode($context, JSON_PRETTY_PRINT)),
+                    'value' => \sprintf('```%s```', json_encode($context, JSON_PRETTY_PRINT)),
                     'short' => false,
                 ],
             ],
@@ -306,7 +305,7 @@ public function testAddsLongAttachmentWithContextAndExtra()
             ],
             [
                 'title' => 'Tags',
-                'value' => sprintf('```%s```', json_encode($extra['tags'])),
+                'value' => \sprintf('```%s```', json_encode($extra['tags'])),
                 'short' => false,
             ],
             [
@@ -362,12 +361,12 @@ public function testExcludeExtraAndContextFields()
         $expected = [
             [
                 'title' => 'Info',
-                'value' => sprintf('```%s```', json_encode(['author' => 'Jordi'], JSON_PRETTY_PRINT)),
+                'value' => \sprintf('```%s```', json_encode(['author' => 'Jordi'], JSON_PRETTY_PRINT)),
                 'short' => false,
             ],
             [
                 'title' => 'Tags',
-                'value' => sprintf('```%s```', json_encode(['web'])),
+                'value' => \sprintf('```%s```', json_encode(['web'])),
                 'short' => false,
             ],
         ];
diff --git a/tests/Monolog/Handler/SlackHandlerTest.php b/tests/Monolog/Handler/SlackHandlerTest.php
index f89c00d89..259c18cea 100644
--- a/tests/Monolog/Handler/SlackHandlerTest.php
+++ b/tests/Monolog/Handler/SlackHandlerTest.php
@@ -11,7 +11,6 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Monolog\Formatter\LineFormatter;
 use Monolog\Handler\Slack\SlackRecord;
@@ -21,7 +20,7 @@
  * @author Greg Kedzierski <greg@gregkedzierski.com>
  * @see    https://api.slack.com/
  */
-class SlackHandlerTest extends TestCase
+class SlackHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @var resource
diff --git a/tests/Monolog/Handler/SlackWebhookHandlerTest.php b/tests/Monolog/Handler/SlackWebhookHandlerTest.php
index f0c2f2a09..105f34dc5 100644
--- a/tests/Monolog/Handler/SlackWebhookHandlerTest.php
+++ b/tests/Monolog/Handler/SlackWebhookHandlerTest.php
@@ -11,7 +11,6 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use Monolog\Formatter\LineFormatter;
 use Monolog\Handler\Slack\SlackRecord;
@@ -21,7 +20,7 @@
  * @see    https://api.slack.com/incoming-webhooks
  * @coversDefaultClass Monolog\Handler\SlackWebhookHandler
  */
-class SlackWebhookHandlerTest extends TestCase
+class SlackWebhookHandlerTest extends \Monolog\Test\MonologTestCase
 {
     const WEBHOOK_URL = 'https://hooks.slack.com/services/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E';
 
diff --git a/tests/Monolog/Handler/SocketHandlerTest.php b/tests/Monolog/Handler/SocketHandlerTest.php
index 5a7251647..ae0108d48 100644
--- a/tests/Monolog/Handler/SocketHandlerTest.php
+++ b/tests/Monolog/Handler/SocketHandlerTest.php
@@ -11,14 +11,13 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\MockObject\MockObject;
 
 /**
  * @author Pablo de Leon Belloc <pablolb@gmail.com>
  */
-class SocketHandlerTest extends TestCase
+class SocketHandlerTest extends \Monolog\Test\MonologTestCase
 {
     private SocketHandler&MockObject $handler;
 
diff --git a/tests/Monolog/Handler/StreamHandlerTest.php b/tests/Monolog/Handler/StreamHandlerTest.php
index e030947e1..bdce21fd6 100644
--- a/tests/Monolog/Handler/StreamHandlerTest.php
+++ b/tests/Monolog/Handler/StreamHandlerTest.php
@@ -11,11 +11,10 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
 use Monolog\Level;
 use PHPUnit\Framework\Attributes\DataProvider;
 
-class StreamHandlerTest extends TestCase
+class StreamHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function tearDown(): void
     {
diff --git a/tests/Monolog/Handler/SymfonyMailerHandlerTest.php b/tests/Monolog/Handler/SymfonyMailerHandlerTest.php
index 5e349ffa4..a8ed01d67 100644
--- a/tests/Monolog/Handler/SymfonyMailerHandlerTest.php
+++ b/tests/Monolog/Handler/SymfonyMailerHandlerTest.php
@@ -12,12 +12,11 @@
 namespace Monolog\Handler;
 
 use Monolog\Logger;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\MockObject\MockObject;
 use Symfony\Component\Mailer\MailerInterface;
 use Symfony\Component\Mime\Email;
 
-class SymfonyMailerHandlerTest extends TestCase
+class SymfonyMailerHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /** @var MailerInterface&MockObject */
     private $mailer;
diff --git a/tests/Monolog/Handler/SyslogUdpHandlerTest.php b/tests/Monolog/Handler/SyslogUdpHandlerTest.php
index 834225d9e..7192d90ed 100644
--- a/tests/Monolog/Handler/SyslogUdpHandlerTest.php
+++ b/tests/Monolog/Handler/SyslogUdpHandlerTest.php
@@ -12,12 +12,11 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
 /**
  * @requires extension sockets
  */
-class SyslogUdpHandlerTest extends TestCase
+class SyslogUdpHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function testWeValidateFacilities()
     {
diff --git a/tests/Monolog/Handler/TelegramBotHandlerTest.php b/tests/Monolog/Handler/TelegramBotHandlerTest.php
index 88dcdba30..ef0f79694 100644
--- a/tests/Monolog/Handler/TelegramBotHandlerTest.php
+++ b/tests/Monolog/Handler/TelegramBotHandlerTest.php
@@ -12,14 +12,13 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\MockObject\MockObject;
 
 /**
  * @author Mazur Alexandr <alexandrmazur96@gmail.com>
  * @link https://core.telegram.org/bots/api
  */
-class TelegramBotHandlerTest extends TestCase
+class TelegramBotHandlerTest extends \Monolog\Test\MonologTestCase
 {
     private TelegramBotHandler&MockObject $handler;
 
diff --git a/tests/Monolog/Handler/TestHandlerTest.php b/tests/Monolog/Handler/TestHandlerTest.php
index d1e1ec32b..6df2579c0 100644
--- a/tests/Monolog/Handler/TestHandlerTest.php
+++ b/tests/Monolog/Handler/TestHandlerTest.php
@@ -12,13 +12,12 @@
 namespace Monolog\Handler;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 
 /**
  * @covers Monolog\Handler\TestHandler
  */
-class TestHandlerTest extends TestCase
+class TestHandlerTest extends \Monolog\Test\MonologTestCase
 {
     #[DataProvider('methodProvider')]
     public function testHandler($method, Level $level)
diff --git a/tests/Monolog/Handler/UdpSocketTest.php b/tests/Monolog/Handler/UdpSocketTest.php
index 986a3ddb8..8250331dc 100644
--- a/tests/Monolog/Handler/UdpSocketTest.php
+++ b/tests/Monolog/Handler/UdpSocketTest.php
@@ -12,12 +12,11 @@
 namespace Monolog\Handler;
 
 use Monolog\Handler\SyslogUdp\UdpSocket;
-use Monolog\Test\TestCase;
 
 /**
  * @requires extension sockets
  */
-class UdpSocketTest extends TestCase
+class UdpSocketTest extends \Monolog\Test\MonologTestCase
 {
     public function testWeDoNotTruncateShortMessages()
     {
diff --git a/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php b/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php
index 5cb8998d6..3473eabed 100644
--- a/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php
+++ b/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php
@@ -12,10 +12,9 @@
 namespace Monolog\Handler;
 
 use Monolog\LogRecord;
-use Monolog\Test\TestCase;
 use Monolog\Level;
 
-class WhatFailureGroupHandlerTest extends TestCase
+class WhatFailureGroupHandlerTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Handler\WhatFailureGroupHandler::__construct
diff --git a/tests/Monolog/Handler/ZendMonitorHandlerTest.php b/tests/Monolog/Handler/ZendMonitorHandlerTest.php
index a1064c3b9..4f6acb45a 100644
--- a/tests/Monolog/Handler/ZendMonitorHandlerTest.php
+++ b/tests/Monolog/Handler/ZendMonitorHandlerTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Handler;
 
-use Monolog\Test\TestCase;
-
-class ZendMonitorHandlerTest extends TestCase
+class ZendMonitorHandlerTest extends \Monolog\Test\MonologTestCase
 {
     public function setUp(): void
     {
diff --git a/tests/Monolog/LoggerTest.php b/tests/Monolog/LoggerTest.php
index fab006220..1377c9e06 100644
--- a/tests/Monolog/LoggerTest.php
+++ b/tests/Monolog/LoggerTest.php
@@ -14,10 +14,10 @@
 use Monolog\Handler\HandlerInterface;
 use Monolog\Processor\WebProcessor;
 use Monolog\Handler\TestHandler;
-use Monolog\Test\TestCase;
+use Monolog\Test\MonologTestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 
-class LoggerTest extends TestCase
+class LoggerTest extends MonologTestCase
 {
     /**
      * @covers Logger::getName
diff --git a/tests/Monolog/Processor/ClosureContextProcessorTest.php b/tests/Monolog/Processor/ClosureContextProcessorTest.php
index 24e35d82c..231d84804 100644
--- a/tests/Monolog/Processor/ClosureContextProcessorTest.php
+++ b/tests/Monolog/Processor/ClosureContextProcessorTest.php
@@ -11,10 +11,9 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 
-class ClosureContextProcessorTest extends TestCase
+class ClosureContextProcessorTest extends \Monolog\Test\MonologTestCase
 {
     public function testReplace()
     {
diff --git a/tests/Monolog/Processor/GitProcessorTest.php b/tests/Monolog/Processor/GitProcessorTest.php
index 175dec105..01c43ffc1 100644
--- a/tests/Monolog/Processor/GitProcessorTest.php
+++ b/tests/Monolog/Processor/GitProcessorTest.php
@@ -12,9 +12,8 @@
 namespace Monolog\Processor;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 
-class GitProcessorTest extends TestCase
+class GitProcessorTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Processor\GitProcessor::__invoke
diff --git a/tests/Monolog/Processor/HostnameProcessorTest.php b/tests/Monolog/Processor/HostnameProcessorTest.php
index 2329ea858..c70c55025 100644
--- a/tests/Monolog/Processor/HostnameProcessorTest.php
+++ b/tests/Monolog/Processor/HostnameProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class HostnameProcessorTest extends TestCase
+class HostnameProcessorTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Processor\HostnameProcessor::__invoke
diff --git a/tests/Monolog/Processor/IntrospectionProcessorTest.php b/tests/Monolog/Processor/IntrospectionProcessorTest.php
index a967ee1f7..cfe0f70e7 100644
--- a/tests/Monolog/Processor/IntrospectionProcessorTest.php
+++ b/tests/Monolog/Processor/IntrospectionProcessorTest.php
@@ -27,10 +27,9 @@ function tester($handler, $record)
 namespace Monolog\Processor;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use Monolog\Handler\TestHandler;
 
-class IntrospectionProcessorTest extends TestCase
+class IntrospectionProcessorTest extends \Monolog\Test\MonologTestCase
 {
     public function getHandler()
     {
diff --git a/tests/Monolog/Processor/LoadAverageProcessorTest.php b/tests/Monolog/Processor/LoadAverageProcessorTest.php
index 8882b0f04..e45766821 100644
--- a/tests/Monolog/Processor/LoadAverageProcessorTest.php
+++ b/tests/Monolog/Processor/LoadAverageProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class LoadAverageProcessorTest extends TestCase
+class LoadAverageProcessorTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Processor\LoadAverageProcessor::__invoke
diff --git a/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php b/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php
index 0ff304ae0..2f04b0230 100644
--- a/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php
+++ b/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class MemoryPeakUsageProcessorTest extends TestCase
+class MemoryPeakUsageProcessorTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Processor\MemoryPeakUsageProcessor::__invoke
diff --git a/tests/Monolog/Processor/MemoryUsageProcessorTest.php b/tests/Monolog/Processor/MemoryUsageProcessorTest.php
index a68c71eaa..d31fdc564 100644
--- a/tests/Monolog/Processor/MemoryUsageProcessorTest.php
+++ b/tests/Monolog/Processor/MemoryUsageProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class MemoryUsageProcessorTest extends TestCase
+class MemoryUsageProcessorTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Processor\MemoryUsageProcessor::__invoke
diff --git a/tests/Monolog/Processor/MercurialProcessorTest.php b/tests/Monolog/Processor/MercurialProcessorTest.php
index 05abef9d5..c69778267 100644
--- a/tests/Monolog/Processor/MercurialProcessorTest.php
+++ b/tests/Monolog/Processor/MercurialProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class MercurialProcessorTest extends TestCase
+class MercurialProcessorTest extends \Monolog\Test\MonologTestCase
 {
     private string $oldCwd;
     private string $testDir;
diff --git a/tests/Monolog/Processor/ProcessIdProcessorTest.php b/tests/Monolog/Processor/ProcessIdProcessorTest.php
index 57de72209..8b3f22d19 100644
--- a/tests/Monolog/Processor/ProcessIdProcessorTest.php
+++ b/tests/Monolog/Processor/ProcessIdProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class ProcessIdProcessorTest extends TestCase
+class ProcessIdProcessorTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Processor\ProcessIdProcessor::__invoke
diff --git a/tests/Monolog/Processor/PsrLogMessageProcessorTest.php b/tests/Monolog/Processor/PsrLogMessageProcessorTest.php
index fd9bfe998..3dc3fdbe3 100644
--- a/tests/Monolog/Processor/PsrLogMessageProcessorTest.php
+++ b/tests/Monolog/Processor/PsrLogMessageProcessorTest.php
@@ -12,10 +12,9 @@
 namespace Monolog\Processor;
 
 use Monolog\Level;
-use Monolog\Test\TestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 
-class PsrLogMessageProcessorTest extends TestCase
+class PsrLogMessageProcessorTest extends \Monolog\Test\MonologTestCase
 {
     #[DataProvider('getPairs')]
     public function testReplacement($val, $expected)
diff --git a/tests/Monolog/Processor/TagProcessorTest.php b/tests/Monolog/Processor/TagProcessorTest.php
index db729e549..3e4ca0208 100644
--- a/tests/Monolog/Processor/TagProcessorTest.php
+++ b/tests/Monolog/Processor/TagProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class TagProcessorTest extends TestCase
+class TagProcessorTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Processor\TagProcessor::__invoke
diff --git a/tests/Monolog/Processor/UidProcessorTest.php b/tests/Monolog/Processor/UidProcessorTest.php
index 14a791f5f..b819dce50 100644
--- a/tests/Monolog/Processor/UidProcessorTest.php
+++ b/tests/Monolog/Processor/UidProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class UidProcessorTest extends TestCase
+class UidProcessorTest extends \Monolog\Test\MonologTestCase
 {
     /**
      * @covers Monolog\Processor\UidProcessor::__invoke
diff --git a/tests/Monolog/Processor/WebProcessorTest.php b/tests/Monolog/Processor/WebProcessorTest.php
index 7c50127a9..e612c9a91 100644
--- a/tests/Monolog/Processor/WebProcessorTest.php
+++ b/tests/Monolog/Processor/WebProcessorTest.php
@@ -11,9 +11,7 @@
 
 namespace Monolog\Processor;
 
-use Monolog\Test\TestCase;
-
-class WebProcessorTest extends TestCase
+class WebProcessorTest extends \Monolog\Test\MonologTestCase
 {
     public function testProcessor()
     {
diff --git a/tests/Monolog/PsrLogCompatTest.php b/tests/Monolog/PsrLogCompatTest.php
index ec7de22a8..d3cdbfdc4 100644
--- a/tests/Monolog/PsrLogCompatTest.php
+++ b/tests/Monolog/PsrLogCompatTest.php
@@ -17,13 +17,12 @@
 use Monolog\Processor\PsrLogMessageProcessor;
 use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\MockObject\MockObject;
-use PHPUnit\Framework\TestCase;
 use Psr\Log\InvalidArgumentException;
 use Psr\Log\LoggerInterface;
 use Psr\Log\LogLevel;
 use Stringable;
 
-class PsrLogCompatTest extends TestCase
+class PsrLogCompatTest extends \Monolog\Test\MonologTestCase
 {
     private TestHandler $handler;
 
diff --git a/tests/Monolog/SignalHandlerTest.php b/tests/Monolog/SignalHandlerTest.php
index 586e84312..b7c6cae5c 100644
--- a/tests/Monolog/SignalHandlerTest.php
+++ b/tests/Monolog/SignalHandlerTest.php
@@ -13,15 +13,15 @@
 
 use Monolog\Handler\StreamHandler;
 use Monolog\Handler\TestHandler;
+use Monolog\Test\MonologTestCase;
 use PHPUnit\Framework\Attributes\DataProvider;
 use Psr\Log\LogLevel;
-use Monolog\Test\TestCase;
 
 /**
  * @author Robert Gust-Bardon <robert@gust-bardon.org>
  * @covers Monolog\SignalHandler
  */
-class SignalHandlerTest extends TestCase
+class SignalHandlerTest extends MonologTestCase
 {
     private bool $asyncSignalHandling;
     private array $blockedSignals = [];