Skip to content

Commit 203cfc4

Browse files
committed
bug #30410 [Monolog] Really reset logger when calling logger::reset() (lyrixx)
This PR was merged into the 4.2 branch. Discussion ---------- [Monolog] Really reset logger when calling logger::reset() | Q | A | ------------- | --- | Branch? | 4.2 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | | License | MIT | Doc PR | Commits ------- 08a20ee [Monolog] Really reset logger when calling logger::reset()
2 parents ed78e71 + 08a20ee commit 203cfc4

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/Symfony/Bridge/Monolog/Logger.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Bridge\Monolog;
1313

1414
use Monolog\Logger as BaseLogger;
15+
use Monolog\ResettableInterface;
1516
use Symfony\Component\HttpFoundation\Request;
1617
use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
1718
use Symfony\Contracts\Service\ResetInterface;
@@ -73,6 +74,10 @@ public function clear()
7374
public function reset()
7475
{
7576
$this->clear();
77+
78+
if ($this instanceof ResettableInterface) {
79+
parent::reset();
80+
}
7681
}
7782

7883
/**

src/Symfony/Bridge/Monolog/Tests/LoggerTest.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Bridge\Monolog\Tests;
1313

1414
use Monolog\Handler\TestHandler;
15+
use Monolog\ResettableInterface;
1516
use PHPUnit\Framework\TestCase;
1617
use Symfony\Bridge\Monolog\Logger;
1718
use Symfony\Bridge\Monolog\Processor\DebugProcessor;
@@ -108,6 +109,22 @@ public function testClear()
108109
$this->assertSame(0, $logger->countErrors());
109110
}
110111

112+
public function testReset()
113+
{
114+
$handler = new TestHandler();
115+
$logger = new Logger('test', [$handler]);
116+
$logger->pushProcessor(new DebugProcessor());
117+
118+
$logger->info('test');
119+
$logger->reset();
120+
121+
$this->assertEmpty($logger->getLogs());
122+
$this->assertSame(0, $logger->countErrors());
123+
if (class_exists(ResettableInterface::class)) {
124+
$this->assertEmpty($handler->getRecords());
125+
}
126+
}
127+
111128
/**
112129
* @group legacy
113130
* @expectedDeprecation The "Symfony\Bridge\Monolog\Logger::getLogs()" method will have a new "Request $request = null" argument in version 5.0, not defining it is deprecated since Symfony 4.2.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy