From a04bec0beca5688fdb1057bb5cb97081edc46ca3 Mon Sep 17 00:00:00 2001 From: armetiz Date: Mon, 20 Feb 2012 11:11:46 +0100 Subject: [PATCH 1/3] 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 From 37f6766b9a79bb7df60a752b3f66e8b7e2d535fc Mon Sep 17 00:00:00 2001 From: armetiz Date: Mon, 27 Feb 2012 09:14:44 +0100 Subject: [PATCH 2/3] Code formatting. --- src/Monolog/Handler/MongoDBHandler.php | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/Monolog/Handler/MongoDBHandler.php b/src/Monolog/Handler/MongoDBHandler.php index 8d99fef8..447672f5 100644 --- a/src/Monolog/Handler/MongoDBHandler.php +++ b/src/Monolog/Handler/MongoDBHandler.php @@ -24,20 +24,19 @@ use Monolog\Logger; * * @author Thomas Tourlourat */ -class MongoDBHandler extends AbstractProcessingHandler -{ +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); - + 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) - { + + protected function write(array $record) { unset($record["formatted"]); - $this->mongoCollection->save ($record); + $this->mongoCollection->save($record); } + } \ No newline at end of file From d0ba57279962169724c44de299d5ff4c0b52a671 Mon Sep 17 00:00:00 2001 From: armetiz Date: Mon, 27 Feb 2012 09:15:29 +0100 Subject: [PATCH 3/3] Remove reference to syslog. --- src/Monolog/Handler/MongoDBHandler.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Monolog/Handler/MongoDBHandler.php b/src/Monolog/Handler/MongoDBHandler.php index 447672f5..cbcc7430 100644 --- a/src/Monolog/Handler/MongoDBHandler.php +++ b/src/Monolog/Handler/MongoDBHandler.php @@ -19,8 +19,8 @@ use Monolog\Logger; * usage example: * * $log = new Logger('application'); - * $syslog = new MongoDBHandler(new \Mongo("mongodb://localhost:27017"), "logs", "prod"); - * $log->pushHandler($syslog); + * $mongodb = new MongoDBHandler(new \Mongo("mongodb://localhost:27017"), "logs", "prod"); + * $log->pushHandler($mongodb); * * @author Thomas Tourlourat */