From cc8a013611b8daefbf3f8ef9803ee49289ad9dc2 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Sun, 13 Nov 2016 20:17:30 +0100 Subject: [PATCH] Optimize removal of leftover extra/context placeholders, refs #866 --- src/Monolog/Formatter/LineFormatter.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Monolog/Formatter/LineFormatter.php b/src/Monolog/Formatter/LineFormatter.php index 7122319d..8ffe6012 100644 --- a/src/Monolog/Formatter/LineFormatter.php +++ b/src/Monolog/Formatter/LineFormatter.php @@ -76,7 +76,6 @@ class LineFormatter extends NormalizerFormatter } } - $output = preg_replace('/%extra\..+?%/', '', $output); foreach ($vars['context'] as $var => $val) { if (false !== strpos($output, '%context.'.$var.'%')) { @@ -85,8 +84,6 @@ class LineFormatter extends NormalizerFormatter } } - $output = preg_replace('/%context\..+?%/', '', $output); - if ($this->ignoreEmptyContextAndExtra) { if (empty($vars['context'])) { unset($vars['context']); @@ -105,6 +102,11 @@ class LineFormatter extends NormalizerFormatter } } + // remove leftover %extra.xxx% and %context.xxx% if any + if (false !== strpos($output, '%')) { + $output = preg_replace('/%(?:extra|context)\..+?%/', '', $output); + } + return $output; }