From 8b2df20b95cc11c6259674ee728aff0a716ca58e Mon Sep 17 00:00:00 2001 From: Frederik Bosch Date: Tue, 11 Aug 2015 11:51:06 +0200 Subject: [PATCH 1/4] FIX IntrospectionProcessor: E_NOTICE Recent merge of #608 misses check whether the trace exists at all at the specific index, leading to undefined offset. ``` E_NOTICE: Undefined offset: 3 ``` And because the while statement became unreadable (and too long), I moved it into a separate method. --- src/Monolog/Processor/IntrospectionProcessor.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Monolog/Processor/IntrospectionProcessor.php b/src/Monolog/Processor/IntrospectionProcessor.php index afc9be9e..4912cd70 100644 --- a/src/Monolog/Processor/IntrospectionProcessor.php +++ b/src/Monolog/Processor/IntrospectionProcessor.php @@ -61,7 +61,7 @@ class IntrospectionProcessor $i = 0; - while (isset($trace[$i]['class']) || in_array($trace[$i]['function'], $this->skipFunctions)) { + while ($this->isTraceClassOrNotSkippedFunction($trace, $i)) { if (isset($trace[$i]['class'])) { foreach ($this->skipClassesPartials as $part) { if (strpos($trace[$i]['class'], $part) !== false) { @@ -90,4 +90,13 @@ class IntrospectionProcessor return $record; } + + private function isTraceClassOrNotSkippedFunction ($trace, $index) + { + if (isset($trace[$index]) === false) { + return false; + } + + return isset($trace[$index]['class']) || in_array($trace[$index]['function'], $this->skipFunctions); + } } From 0ae159e89276199978f73ed442df93f351fab01e Mon Sep 17 00:00:00 2001 From: Frederik Bosch Date: Tue, 11 Aug 2015 11:54:26 +0200 Subject: [PATCH 2/4] Remove Not in method name Apparently there is check whether function should be skipped (positive). --- src/Monolog/Processor/IntrospectionProcessor.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Monolog/Processor/IntrospectionProcessor.php b/src/Monolog/Processor/IntrospectionProcessor.php index 4912cd70..8e65811d 100644 --- a/src/Monolog/Processor/IntrospectionProcessor.php +++ b/src/Monolog/Processor/IntrospectionProcessor.php @@ -61,7 +61,7 @@ class IntrospectionProcessor $i = 0; - while ($this->isTraceClassOrNotSkippedFunction($trace, $i)) { + while ($this->isTraceClassOrSkippedFunction($trace, $i)) { if (isset($trace[$i]['class'])) { foreach ($this->skipClassesPartials as $part) { if (strpos($trace[$i]['class'], $part) !== false) { @@ -91,7 +91,7 @@ class IntrospectionProcessor return $record; } - private function isTraceClassOrNotSkippedFunction ($trace, $index) + private function isTraceClassOrSkippedFunction ($trace, $index) { if (isset($trace[$index]) === false) { return false; From 63c03638248c5c9697bdaa3de05d949c69359500 Mon Sep 17 00:00:00 2001 From: Frederik Bosch Date: Tue, 11 Aug 2015 11:58:40 +0200 Subject: [PATCH 3/4] Typehint update --- src/Monolog/Processor/IntrospectionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Monolog/Processor/IntrospectionProcessor.php b/src/Monolog/Processor/IntrospectionProcessor.php index 8e65811d..56debfd5 100644 --- a/src/Monolog/Processor/IntrospectionProcessor.php +++ b/src/Monolog/Processor/IntrospectionProcessor.php @@ -91,7 +91,7 @@ class IntrospectionProcessor return $record; } - private function isTraceClassOrSkippedFunction ($trace, $index) + private function isTraceClassOrSkippedFunction (array $trace, $index) { if (isset($trace[$index]) === false) { return false; From d72806ca258b667f44f01e6cee70fc8a17262da1 Mon Sep 17 00:00:00 2001 From: Frederik Bosch Date: Tue, 11 Aug 2015 11:59:52 +0200 Subject: [PATCH 4/4] Would have, could have. Why not. --- src/Monolog/Processor/IntrospectionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Monolog/Processor/IntrospectionProcessor.php b/src/Monolog/Processor/IntrospectionProcessor.php index 56debfd5..cf608d54 100644 --- a/src/Monolog/Processor/IntrospectionProcessor.php +++ b/src/Monolog/Processor/IntrospectionProcessor.php @@ -93,7 +93,7 @@ class IntrospectionProcessor private function isTraceClassOrSkippedFunction (array $trace, $index) { - if (isset($trace[$index]) === false) { + if (!isset($trace[$index])) { return false; }