From 0a2e4237d35f2f32f83ada42d00fd9b4c5c390cc Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 14 Oct 2015 14:09:16 +0100 Subject: [PATCH] Allow overriding of extra fields and configuring them fully in the constructor, fixes #663 --- src/Monolog/Processor/WebProcessor.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Monolog/Processor/WebProcessor.php b/src/Monolog/Processor/WebProcessor.php index 21f22a6e..75eb95ab 100644 --- a/src/Monolog/Processor/WebProcessor.php +++ b/src/Monolog/Processor/WebProcessor.php @@ -24,6 +24,10 @@ class WebProcessor protected $serverData; /** + * Default fields + * + * Array is structured as [key in record.extra => key in $serverData] + * * @var array */ protected $extraFields = array( @@ -36,7 +40,7 @@ class WebProcessor /** * @param array|\ArrayAccess $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data - * @param array|null $extraFields Extra field names to be added (all available by default) + * @param array|null $extraFields Field names and the related key inside $serverData to be added. If not provided it defaults to: url, ip, http_method, server, referrer */ public function __construct($serverData = null, array $extraFields = null) { @@ -49,11 +53,7 @@ class WebProcessor } if (null !== $extraFields) { - foreach (array_keys($this->extraFields) as $fieldName) { - if (!in_array($fieldName, $extraFields)) { - unset($this->extraFields[$fieldName]); - } - } + $this->extraFields = $extraFields; } }