From 4621a0c58135fd4241748aa8979264e0500f550f Mon Sep 17 00:00:00 2001 From: Patrik Votocek Date: Sat, 5 Oct 2013 23:09:34 +0200 Subject: [PATCH] Add logLevel option --- README.md | 3 +++ src/VrtakCZ/NewRelic/Extension.php | 8 +++++++- src/VrtakCZ/NewRelic/Logger.php | 12 ++++++++++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 72b9677..8466c32 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,9 @@ newrelic: license: yourLicenseCode #optional disable: YES #optional - force disable actionKey: action # default - optional - action parameter name + logLevel: #defaults + - critical + - error # optional options with default values rum: diff --git a/src/VrtakCZ/NewRelic/Extension.php b/src/VrtakCZ/NewRelic/Extension.php index ba27814..026854e 100644 --- a/src/VrtakCZ/NewRelic/Extension.php +++ b/src/VrtakCZ/NewRelic/Extension.php @@ -15,6 +15,10 @@ class Extension extends \Nette\Config\CompilerExtension /** @var array */ public $defaults = array( + 'logLevel' => array( + \Nette\Diagnostics\Logger::ERROR, + \Nette\Diagnostics\Logger::CRITICAL, + ), 'rum' => array( 'autoEnable' => TRUE, ), @@ -90,7 +94,9 @@ public function afterCompile(ClassType $class) } // Logger - $initialize->addBody('$newRelicLogger = new \VrtakCZ\NewRelic\Logger;'); + $initialize->addBody('$newRelicLogger = new \VrtakCZ\NewRelic\Logger(?);', array( + array_unique($config['logLevel']) + )); $initialize->addBody('\Nette\Diagnostics\Debugger::$logger = $newRelicLogger;'); // Options diff --git a/src/VrtakCZ/NewRelic/Logger.php b/src/VrtakCZ/NewRelic/Logger.php index 0854254..76d86bd 100644 --- a/src/VrtakCZ/NewRelic/Logger.php +++ b/src/VrtakCZ/NewRelic/Logger.php @@ -6,13 +6,21 @@ class Logger extends \Nette\Diagnostics\Logger { - public function __construct() + /** @var array */ + private $logLevel; + + /** + * @param array + */ + public function __construct(array $logLevel) { $oldLogger = Debugger::$logger; static::$emailSnooze =& $oldLogger::$emailSnooze; $this->mailer =& $oldLogger->mailer; $this->directory =& $oldLogger->directory; $this->email =& $oldLogger->email; + + $this->logLevel = $logLevel; } /** @@ -24,7 +32,7 @@ public function log($message, $priority = self::INFO) { $res = parent::log($message, $priority); - if (in_array($priority, array(self::ERROR, self::CRITICAL))) { + if (in_array($priority, $this->logLevel)) { if (is_array($message)) { $message = implode(' ', $message); }