2
0
Эх сурвалжийг харах

Add length arg to the UidProcessor, refs #169

Jordi Boggiano 13 жил өмнө
parent
commit
041aa3930f

+ 8 - 6
src/Monolog/Processor/UidProcessor.php

@@ -16,18 +16,20 @@ namespace Monolog\Processor;
  *
  * @author Simon Mönch <sm@webfactory.de>
  */
-class UidProcessor 
+class UidProcessor
 {
     private $uid;
-    
-    public function __construct() 
+
+    public function __construct($length = 7)
     {
-        if (null === $this->uid) {
-            $this->uid = substr(hash('md5', uniqid('', true)), 0, 7);
+        if (!is_int($length) || $length > 32 || $length < 1) {
+            throw new \InvalidArgumentException('The uid length must be an integer between 1 and 32');
         }
+
+        $this->uid = substr(hash('md5', uniqid('', true)), 0, $length);
     }
 
-    public function __invoke(array $record) 
+    public function __invoke(array $record)
     {
         $record['extra']['uid'] = $this->uid;