Просмотр исходного кода

Make sure extra/context variables are stringified when more than one level deep

Anton Nizhegorodov 9 лет назад
Родитель
Сommit
4ab8ed0a53

+ 3 - 3
src/Monolog/Handler/Slack/SlackRecord.php

@@ -96,7 +96,7 @@ class SlackRecord
         $this->includeContextAndExtra = $includeContextAndExtra;
         $this->formatter = $formatter;
 
-        if ($this->includeContextAndExtra && $this->useShortAttachment) {
+        if ($this->includeContextAndExtra) {
             $this->lineFormatter = new LineFormatter();
         }
     }
@@ -152,7 +152,7 @@ class SlackRecord
                         foreach ($record['extra'] as $var => $val) {
                             $attachment['fields'][] = array(
                                 'title' => $var,
-                                'value' => $val,
+                                'value' => is_array($val) ? $this->lineFormatter->stringify($val) : $val,
                                 'short' => $this->useShortAttachment,
                             );
                         }
@@ -171,7 +171,7 @@ class SlackRecord
                         foreach ($record['context'] as $var => $val) {
                             $attachment['fields'][] = array(
                                 'title' => $var,
-                                'value' => $val,
+                                'value' => is_array($val) ? $this->lineFormatter->stringify($val) : $val,
                                 'short' => $this->useShortAttachment,
                             );
                         }

+ 1 - 1
tests/Monolog/Handler/Slack/SlackRecordTest.php

@@ -308,7 +308,7 @@ class SlackRecordTest extends TestCase
             ),
             array(
                 'title' => 'tags',
-                'value' => array('web'),
+                'value' => '["web"]',
                 'short' => false
             ),
             array(