36 lines
757 B
PHP
36 lines
757 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Tests\Logging;
|
|
|
|
use Psr\Log\AbstractLogger;
|
|
|
|
class CustomLogger extends AbstractLogger
|
|
{
|
|
public array $logs = [];
|
|
|
|
public function log($level, string|\Stringable $message, array $context = []): void
|
|
{
|
|
$this->logs[] = [
|
|
'level' => $level,
|
|
'message' => $message,
|
|
'context' => $context,
|
|
];
|
|
}
|
|
|
|
public function hasLog(string $level, string $contains): bool
|
|
{
|
|
foreach ($this->logs as $log) {
|
|
if ($log['level'] === $level && str_contains($log['message'], $contains)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function clear(): void
|
|
{
|
|
$this->logs = [];
|
|
}
|
|
}
|