diff --git a/src/Monolog/Handler/LogglyHandler.php b/src/Monolog/Handler/LogglyHandler.php index b83eb471..9785cec0 100644 --- a/src/Monolog/Handler/LogglyHandler.php +++ b/src/Monolog/Handler/LogglyHandler.php @@ -19,6 +19,7 @@ use Monolog\Formatter\LogglyFormatter; * * @author Przemek Sobstel * @author Adam Pancutt + * @author Gregory Barchard */ class LogglyHandler extends AbstractProcessingHandler { @@ -28,7 +29,7 @@ class LogglyHandler extends AbstractProcessingHandler protected $token; - protected $tag; + protected $tag = array(); public function __construct($token, $level = Logger::DEBUG, $bubble = true) { @@ -43,12 +44,16 @@ class LogglyHandler extends AbstractProcessingHandler public function setTag($tag) { - $this->tag = $tag; + $tag = !empty($tag) ? $tag : array(); + $this->tag = is_array($tag) ? $tag : array($tag); } public function addTag($tag) { - $this->tag = (strlen($this->tag) > 0) ? $this->tag .','. $tag : $tag; + if (!empty($tag)) { + $tag = is_array($tag) ? $tag : array($tag); + $this->tag = array_unique(array_merge($this->tag, $tag)); + } } protected function write(array $record) @@ -75,8 +80,8 @@ class LogglyHandler extends AbstractProcessingHandler $headers = array('Content-Type: application/json'); - if ($this->tag) { - $headers[] = "X-LOGGLY-TAG: {$this->tag}"; + if (!empty($this->tag)) { + $headers[] = 'X-LOGGLY-TAG: '.implode(',', $this->tag); } $ch = curl_init();