61 lines
1.1 KiB
PHP
61 lines
1.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
* PHP version 7.3
|
|
*
|
|
* @category ArrayLogger
|
|
* @package RetailCrm\TestUtils
|
|
*/
|
|
|
|
namespace RetailCrm\TestUtils;
|
|
|
|
use Psr\Log\AbstractLogger;
|
|
|
|
/**
|
|
* Class ArrayLogger
|
|
*
|
|
* @category ArrayLogger
|
|
* @package RetailCrm\TestUtils
|
|
*/
|
|
class ArrayLogger extends AbstractLogger
|
|
{
|
|
/** @var string[][] */
|
|
private $messages = [];
|
|
|
|
/**
|
|
* @return string[][]
|
|
*/
|
|
public function getMessages(): array
|
|
{
|
|
return $this->messages;
|
|
}
|
|
|
|
/**
|
|
* @return string[]
|
|
*/
|
|
public function getLastMessage(): array
|
|
{
|
|
return count($this->messages) > 0 ? end($this->messages) : [];
|
|
}
|
|
|
|
/**
|
|
* Logs with an arbitrary level.
|
|
*
|
|
* @param mixed $level
|
|
* @param string $message
|
|
* @param array $context
|
|
*
|
|
* @return void
|
|
*
|
|
* @throws \Psr\Log\InvalidArgumentException
|
|
*/
|
|
public function log($level, $message, array $context = array()): void
|
|
{
|
|
$this->messages[] = [
|
|
'level' => $level,
|
|
'message' => $message,
|
|
'context' => $context,
|
|
];
|
|
}
|
|
}
|