Source of file QueuedJobsTest_RecordingLogger.php
Size: 1,692 Bytes - Last Modified: 2021-12-23T10:50:08+00:00
/var/www/docs.ssmods.com/process/src/tests/QueuedJobsTest/QueuedJobsTest_RecordingLogger.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | <?php namespace Symbiote\QueuedJobs\Tests\QueuedJobsTest; use Monolog\Logger; use SilverStripe\Dev\TestOnly; /** * Test logger for recording messages */ class QueuedJobsTest_RecordingLogger extends Logger implements TestOnly { /** * @var QueuedJobsTest_Handler */ protected $testHandler = null; public function __construct($name = 'testlogger', array $handlers = array(), array $processors = array()) { parent::__construct($name, $handlers, $processors); $this->testHandler = new QueuedJobsTest_Handler(); $this->pushHandler($this->testHandler); } /** * @return array */ public function getMessages() { return $this->testHandler->getMessages(); } /** * Clear all messages */ public function clear() { $this->testHandler->clear(); } /** * Get messages with the given filter * * @param string $containing * @return array Filtered array */ public function filterMessages($containing) { return array_values(array_filter( $this->getMessages(), function ($content) use ($containing) { return stripos($content, $containing) !== false; } )); } /** * Count all messages containing the given substring * * @param string $containing Message to filter by * @return int */ public function countMessages($containing = null) { if ($containing) { $messages = $this->filterMessages($containing); } else { $messages = $this->getMessages(); } return count($messages); } } |