mirror of
https://github.com/Seldaek/monolog.git
synced 2025-10-22 09:06:10 +02:00
Move record searching to its own method: hasRecordThatPasses()
This commit is contained in:
@@ -112,21 +112,13 @@ class TestHandler extends AbstractProcessingHandler
|
|||||||
|
|
||||||
protected function hasRecord($record, $level)
|
protected function hasRecord($record, $level)
|
||||||
{
|
{
|
||||||
if (!isset($this->recordsByLevel[$level])) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_array($record)) {
|
if (is_array($record)) {
|
||||||
$record = $record['message'];
|
$record = $record['message'];
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($this->recordsByLevel[$level] as $rec) {
|
return $this->hasRecordThatPasses($level, function($rec) use ($record) {
|
||||||
if ($rec['message'] === $record) {
|
return $rec['message'] === $record;
|
||||||
return true;
|
});
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hasEmergencyThatContains($message)
|
public function hasEmergencyThatContains($message)
|
||||||
@@ -171,12 +163,23 @@ class TestHandler extends AbstractProcessingHandler
|
|||||||
|
|
||||||
public function hasRecordThatContains($message, $level)
|
public function hasRecordThatContains($message, $level)
|
||||||
{
|
{
|
||||||
|
return $this->hasRecordThatPasses($level, function($rec) use ($message) {
|
||||||
|
return strpos($rec['message'], $message) !== false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public function hasRecordThatPasses($level, $predicate)
|
||||||
|
{
|
||||||
|
if (!is_callable($predicate)) {
|
||||||
|
throw new \InvalidArgumentException("Expected a callable for hasRecordThatSucceeds");
|
||||||
|
}
|
||||||
|
|
||||||
if (!isset($this->recordsByLevel[$level])) {
|
if (!isset($this->recordsByLevel[$level])) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($this->recordsByLevel[$level] as $rec) {
|
foreach ($this->recordsByLevel[$level] as $i => $rec) {
|
||||||
if (strpos($rec['message'], $message) !== false) {
|
if (call_user_func($predicate, $rec, $i)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user