Procházet zdrojové kódy

Fix SlackHandler bug where slack drops some messages if the socket is closed too early, fixes #729

Jordi Boggiano před 10 roky
rodič
revize
5085630fd6

+ 4 - 0
src/Monolog/Handler/SlackHandler.php

@@ -241,6 +241,10 @@ class SlackHandler extends SocketHandler
     protected function write(array $record)
     {
         parent::write($record);
+        $res = $this->getResource();
+        if (is_resource($res)) {
+            @fread($res, 2048);
+        }
         $this->closeSocket();
     }
 

+ 8 - 0
src/Monolog/Handler/SocketHandler.php

@@ -255,6 +255,14 @@ class SocketHandler extends AbstractProcessingHandler
         return (string) $record['formatted'];
     }
 
+    /**
+     * @return resource|null
+     */
+    protected function getResource()
+    {
+        return $this->resource;
+    }
+
     private function connect()
     {
         $this->createSocketResource();