1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-10-24 18:16:10 +02:00

Merge branch '2.x' into main

This commit is contained in:
Jordi Boggiano
2022-05-10 11:45:36 +02:00
8 changed files with 205 additions and 53 deletions

View File

@@ -11,6 +11,7 @@
namespace Monolog;
use Monolog\Handler\HandlerInterface;
use Monolog\Processor\WebProcessor;
use Monolog\Handler\TestHandler;
use Monolog\Test\TestCase;
@@ -70,6 +71,28 @@ class LoggerTest extends TestCase
/**
* @covers Logger::addRecord
*/
public function testLogPreventsCircularLogging()
{
$logger = new Logger(__METHOD__);
$loggingHandler = new LoggingHandler($logger);
$testHandler = new TestHandler();
$logger->pushHandler($loggingHandler);
$logger->pushHandler($testHandler);
$logger->addRecord(Level::Alert, 'test');
$records = $testHandler->getRecords();
$this->assertCount(3, $records);
$this->assertSame('ALERT', $records[0]->level->getName());
$this->assertSame('DEBUG', $records[1]->level->getName());
$this->assertSame('WARNING', $records[2]->level->getName());
}
/**
* @covers Monolog\Logger::addRecord
*/
public function testLog()
{
$logger = new Logger(__METHOD__);
@@ -718,3 +741,36 @@ class LoggerTest extends TestCase
$this->assertNotSame($uid2, $processorUid2->getUid());
}
}
class LoggingHandler implements HandlerInterface
{
/**
* @var Logger
*/
private $logger;
public function __construct(Logger $logger)
{
$this->logger = $logger;
}
public function isHandling(LogRecord $record): bool
{
return true;
}
public function handle(LogRecord $record): bool
{
$this->logger->debug('Log triggered while logging');
return false;
}
public function handleBatch(array $records): void
{
}
public function close(): void
{
}
}