<?php declare(strict_types=1); namespace Xentral\Components\Logger\Handler; use Xentral\Components\Logger\Context\ContextInterface; final class MemoryLogHandler extends AbstractLogHandler { /** @var string[] $messages */ private $messages; /** @var ContextInterface[] $entries */ private $contexts; /** * @param string $level */ public function __construct(string $level) { $this->messages = []; $this->contexts = []; $this->setMinimumLevel($level); } /** * @param string $level * @param string $message * @param ContextInterface $context * * @return void */ public function addLogEntry(string $level, string $message, ContextInterface $context): void { $this->contexts[] = $context; $this->messages[] = sprintf('%s: %s', strtoupper($level), $message); } /** * @return string[] */ public function getMessages(): array { return $this->messages; } /** * @return ContextInterface[] */ public function getContexts(): array { return $this->contexts; } }