summaryrefslogtreecommitdiffstats
path: root/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RedisHandler.php
diff options
context:
space:
mode:
authorChristian Berendt <berendt@b1-systems.de>2013-07-08 11:11:07 +0200
committerChristian Berendt <berendt@b1-systems.de>2013-07-08 11:11:07 +0200
commitadf0fe880c6adcdfdabc6aa8f3ccfb267c4692b6 (patch)
tree85c8d84bad55cf1dd90149f8299984a8f0614def /apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RedisHandler.php
parent92e73928529f00aa1638777995fdd5c91ee05275 (diff)
downloadnextcloud-server-adf0fe880c6adcdfdabc6aa8f3ccfb267c4692b6.tar.gz
nextcloud-server-adf0fe880c6adcdfdabc6aa8f3ccfb267c4692b6.zip
removed aws.phar and added extracted zip instead
Diffstat (limited to 'apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RedisHandler.php')
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RedisHandler.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RedisHandler.php b/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RedisHandler.php
new file mode 100644
index 00000000000..51a8e7df800
--- /dev/null
+++ b/apps/files_external/3rdparty/aws-sdk-php/Monolog/Handler/RedisHandler.php
@@ -0,0 +1,58 @@
+<?php
+
+/*
+ * This file is part of the Monolog package.
+ *
+ * (c) Thomas Tourlourat <thomas@tourlourat.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Monolog\Handler;
+
+use Monolog\Logger;
+use Monolog\Formatter\LineFormatter;
+
+/**
+ * Logs to a Redis key using rpush
+ *
+ * usage example:
+ *
+ * $log = new Logger('application');
+ * $redis = new RedisHandler(new Predis\Client("tcp://localhost:6379"), "logs", "prod");
+ * $log->pushHandler($redis);
+ *
+ * @author Thomas Tourlourat <thomas@tourlourat.com>
+ */
+class RedisHandler extends AbstractProcessingHandler
+{
+ private $redisClient;
+ private $redisKey;
+
+ # redis instance, key to use
+ public function __construct($redis, $key, $level = Logger::DEBUG, $bubble = true)
+ {
+ if (!(($redis instanceof \Predis\Client) || ($redis instanceof \Redis))) {
+ throw new \InvalidArgumentException('Predis\Client or Redis instance required');
+ }
+
+ $this->redisClient = $redis;
+ $this->redisKey = $key;
+
+ parent::__construct($level, $bubble);
+ }
+
+ protected function write(array $record)
+ {
+ $this->redisClient->rpush($this->redisKey, $record["formatted"]);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected function getDefaultFormatter()
+ {
+ return new LineFormatter();
+ }
+}