From a04bec0beca5688fdb1057bb5cb97081edc46ca3 Mon Sep 17 00:00:00 2001 From: armetiz Date: Mon, 20 Feb 2012 11:11:46 +0100 Subject: [PATCH] Add MongoDB handler --- src/Monolog/Handler/MongoDBHandler.php | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/Monolog/Handler/MongoDBHandler.php diff --git a/src/Monolog/Handler/MongoDBHandler.php b/src/Monolog/Handler/MongoDBHandler.php new file mode 100644 index 00000000..8d99fef8 --- /dev/null +++ b/src/Monolog/Handler/MongoDBHandler.php @@ -0,0 +1,43 @@ + + * + * 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; + +/** + * Logs to a MongoDB database. + * + * usage example: + * + * $log = new Logger('application'); + * $syslog = new MongoDBHandler(new \Mongo("mongodb://localhost:27017"), "logs", "prod"); + * $log->pushHandler($syslog); + * + * @author Thomas Tourlourat + */ +class MongoDBHandler extends AbstractProcessingHandler +{ + private $mongoCollection; + + public function __construct(\Mongo $mongo, $database, $collection, $level = Logger::DEBUG, $bubble = true) + { + $this->mongoCollection = $this->mongo->selectCollection ($database, $collection); + + parent::__construct($level, $bubble); + } + + protected function write(array $record) + { + unset($record["formatted"]); + $this->mongoCollection->save ($record); + } +} \ No newline at end of file