Sfoglia il codice sorgente

Merge branch '1.x'

Jordi Boggiano 7 anni fa
parent
commit
204744df2e

+ 1 - 0
CHANGELOG.md

@@ -1,5 +1,6 @@
 ### 1.24.0 (2018-11-05)
 
+  * BC Notice: If you are extending any of the Monolog's Formatters' `normalize` method, make sure you add the new `$depth = 0` argument to your function signature to avoid strict PHP warnings.
   * Added a `ResettableInterface` in order to reset/reset/clear/flush handlers and processors
   * Added a `ProcessorInterface` as an optional way to label a class as being a processor (mostly useful for autowiring dependency containers)
   * Added a way to log signals being received using Monolog\SignalHandler

+ 13 - 0
src/Monolog/Handler/TestHandler.php

@@ -69,6 +69,7 @@ class TestHandler extends AbstractProcessingHandler
 {
     protected $records = [];
     protected $recordsByLevel = [];
+    private $skipReset = false;
 
     public function getRecords()
     {
@@ -81,6 +82,18 @@ class TestHandler extends AbstractProcessingHandler
         $this->recordsByLevel = [];
     }
 
+    public function reset()
+    {
+        if (!$this->skipReset) {
+            $this->clear();
+        }
+    }
+
+    public function setSkipReset(bool $skipReset)
+    {
+        $this->skipReset = $skipReset;
+    }
+
     /**
      * @param string|int $level Logging level value or name
      */

+ 1 - 0
tests/Monolog/Handler/FingersCrossedHandlerTest.php

@@ -61,6 +61,7 @@ class FingersCrossedHandlerTest extends TestCase
     public function testHandleResetBufferingAfterReset()
     {
         $test = new TestHandler();
+        $test->setSkipReset(true);
         $handler = new FingersCrossedHandler($test);
         $handler->handle($this->getRecord(Logger::WARNING));
         $handler->handle($this->getRecord(Logger::DEBUG));

+ 11 - 10
tests/Monolog/LoggerTest.php

@@ -641,6 +641,7 @@ class LoggerTest extends \PHPUnit\Framework\TestCase
         $logger = new Logger('app');
 
         $testHandler = new Handler\TestHandler();
+        $testHandler->setSkipReset(true);
         $bufferHandler = new Handler\BufferHandler($testHandler);
         $groupHandler = new Handler\GroupHandler(array($bufferHandler));
         $fingersCrossedHandler = new Handler\FingersCrossedHandler($groupHandler);
@@ -670,7 +671,7 @@ class LoggerTest extends \PHPUnit\Framework\TestCase
             $that->assertEmpty($getProperty($fingersCrossedHandler, 'buffer'));
         };
 
-        $logger->debug('debug');
+        $logger->debug('debug1');
         $logger->reset();
         $assertBuffersEmpty();
         $this->assertFalse($testHandler->hasDebugRecords());
@@ -678,16 +679,16 @@ class LoggerTest extends \PHPUnit\Framework\TestCase
         $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid());
         $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid());
 
-        $logger->debug('debug');
-        $logger->error('error');
+        $logger->debug('debug2');
+        $logger->error('error2');
         $logger->reset();
         $assertBuffersEmpty();
-        $this->assertTrue($testHandler->hasDebugRecords());
-        $this->assertTrue($testHandler->hasErrorRecords());
+        $this->assertTrue($testHandler->hasRecordThatContains('debug2', Logger::DEBUG));
+        $this->assertTrue($testHandler->hasRecordThatContains('error2', Logger::ERROR));
         $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid());
         $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid());
 
-        $logger->info('info');
+        $logger->info('info3');
         $this->assertNotEmpty($getProperty($fingersCrossedHandler, 'buffer'));
         $assertBufferOfBufferHandlerEmpty();
         $this->assertFalse($testHandler->hasInfoRecords());
@@ -698,13 +699,13 @@ class LoggerTest extends \PHPUnit\Framework\TestCase
         $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid());
         $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid());
 
-        $logger->notice('notice');
-        $logger->emergency('emergency');
+        $logger->notice('notice4');
+        $logger->emergency('emergency4');
         $logger->reset();
         $assertBuffersEmpty();
         $this->assertFalse($testHandler->hasInfoRecords());
-        $this->assertTrue($testHandler->hasNoticeRecords());
-        $this->assertTrue($testHandler->hasEmergencyRecords());
+        $this->assertTrue($testHandler->hasRecordThatContains('notice4', Logger::NOTICE));
+        $this->assertTrue($testHandler->hasRecordThatContains('emergency4', Logger::EMERGENCY));
         $this->assertNotSame($uid1, $processorUid1->getUid());
         $this->assertNotSame($uid2, $processorUid2->getUid());
     }