summaryrefslogtreecommitdiff
path: root/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php')
-rw-r--r--vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php20
1 files changed, 14 insertions, 6 deletions
diff --git a/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php
index efd94d30..9785cec0 100644
--- a/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php
+++ b/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php
@@ -19,6 +19,7 @@ use Monolog\Formatter\LogglyFormatter;
*
* @author Przemek Sobstel <przemek@sobstel.org>
* @author Adam Pancutt <adam@pancutt.com>
+ * @author Gregory Barchard <gregory@barchard.net>
*/
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();
@@ -87,7 +92,10 @@ class LogglyHandler extends AbstractProcessingHandler
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_exec($ch);
+ if (curl_exec($ch) === false) {
+ throw new \RuntimeException(sprintf('Curl error (code %s): %s', curl_errno($ch), curl_error($ch)));
+ }
+
curl_close($ch);
}