From 16f439cfaf3275b36f294abeb001f613a6b7f77f Mon Sep 17 00:00:00 2001 From: Richard Miller Date: Tue, 7 Aug 2012 19:39:14 +0100 Subject: [PATCH] Stopped logger collecting data when not in debug mode --- Logger/ElasticaLogger.php | 18 +++++++++++------- Resources/config/config.xml | 1 + Tests/Logger/ElasticaLoggerTest.php | 16 ++++++++++++++-- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/Logger/ElasticaLogger.php b/Logger/ElasticaLogger.php index 6e39602..415e53b 100644 --- a/Logger/ElasticaLogger.php +++ b/Logger/ElasticaLogger.php @@ -16,16 +16,18 @@ class ElasticaLogger { protected $logger; protected $queries; + protected $debug; /** * Constructor. * * @param LoggerInterface $logger The Symfony logger */ - public function __construct(LoggerInterface $logger = null) + public function __construct(LoggerInterface $logger = null, $debug = false) { $this->logger = $logger; $this->queries = array(); + $this->debug = $debug; } /** @@ -38,12 +40,14 @@ class ElasticaLogger */ public function logQuery($path, $method, $data, $time) { - $this->queries[] = array( - 'path' => $path, - 'method' => $method, - 'data' => $data, - 'executionMS' => $time - ); + if ($this->debug) { + $this->queries[] = array( + 'path' => $path, + 'method' => $method, + 'data' => $data, + 'executionMS' => $time + ); + } if (null !== $this->logger) { $message = sprintf("%s (%s) %0.2f ms", $path, $method, $time * 1000); diff --git a/Resources/config/config.xml b/Resources/config/config.xml index f4a54b3..942ddef 100644 --- a/Resources/config/config.xml +++ b/Resources/config/config.xml @@ -18,6 +18,7 @@ + %kernel.debug% diff --git a/Tests/Logger/ElasticaLoggerTest.php b/Tests/Logger/ElasticaLoggerTest.php index 858975b..566757c 100644 --- a/Tests/Logger/ElasticaLoggerTest.php +++ b/Tests/Logger/ElasticaLoggerTest.php @@ -18,7 +18,7 @@ class ElasticaLoggerTest extends \PHPUnit_Framework_TestCase public function testCorrectAmountIfRandomNumberOfQueriesAdded() { - $elasticaLogger = new ElasticaLogger; + $elasticaLogger = new ElasticaLogger(null, true); $total = rand(1, 15); for ($i = 0; $i < $total; $i++) { @@ -30,7 +30,7 @@ class ElasticaLoggerTest extends \PHPUnit_Framework_TestCase public function testCorrectlyFormattedQueryReturned() { - $elasticaLogger = new ElasticaLogger; + $elasticaLogger = new ElasticaLogger(null, true); $path = 'testPath'; $method = 'testMethod'; @@ -49,6 +49,18 @@ class ElasticaLoggerTest extends \PHPUnit_Framework_TestCase $this->assertEquals($expected, $returnedQueries[0]); } + public function testNoQueriesStoredIfDebugFalseAdded() + { + $elasticaLogger = new ElasticaLogger(null, false); + + $total = rand(1, 15); + for ($i = 0; $i < $total; $i++) { + $elasticaLogger->logQuery('testPath', 'testMethod', array('data'), 12); + } + + $this->assertEquals(0, $elasticaLogger->getNbQueries()); + } + public function testQueryIsLogged() { $loggerMock = $this->getMockBuilder('Symfony\Component\HttpKernel\Log\LoggerInterface')