فهرست منبع

Allow overriding of extra fields and configuring them fully in the constructor, fixes #663

Jordi Boggiano 10 سال پیش
والد
کامیت
0a2e4237d3
1فایلهای تغییر یافته به همراه6 افزوده شده و 6 حذف شده
  1. 6 6
      src/Monolog/Processor/WebProcessor.php

+ 6 - 6
src/Monolog/Processor/WebProcessor.php

@@ -24,6 +24,10 @@ class WebProcessor
     protected $serverData;
     protected $serverData;
 
 
     /**
     /**
+     * Default fields
+     *
+     * Array is structured as [key in record.extra => key in $serverData]
+     *
      * @var array
      * @var array
      */
      */
     protected $extraFields = 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|\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)
     public function __construct($serverData = null, array $extraFields = null)
     {
     {
@@ -49,11 +53,7 @@ class WebProcessor
         }
         }
 
 
         if (null !== $extraFields) {
         if (null !== $extraFields) {
-            foreach (array_keys($this->extraFields) as $fieldName) {
-                if (!in_array($fieldName, $extraFields)) {
-                    unset($this->extraFields[$fieldName]);
-                }
-            }
+            $this->extraFields = $extraFields;
         }
         }
     }
     }