From f9a0dd41524fb99f3dfd07de5ebcea38d890c28f Mon Sep 17 00:00:00 2001 From: Damien Alexandre Date: Mon, 8 Sep 2014 18:11:42 +0200 Subject: [PATCH] Configure elasticsearch logger in dev environment --- .../SearchEngine/Elastic/ElasticSearchEngine.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/Alchemy/Phrasea/SearchEngine/Elastic/ElasticSearchEngine.php b/lib/Alchemy/Phrasea/SearchEngine/Elastic/ElasticSearchEngine.php index 2036e44968..c723d654c6 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Elastic/ElasticSearchEngine.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Elastic/ElasticSearchEngine.php @@ -20,6 +20,9 @@ use Alchemy\Phrasea\Exception\RuntimeException; use Doctrine\Common\Collections\ArrayCollection; use Alchemy\Phrasea\Model\Entities\FeedEntry; use Elasticsearch\Client; +use Monolog\Handler\RotatingFileHandler; +use Psr\Log\LogLevel; +use Symfony\Bridge\Monolog\Logger; class ElasticSearchEngine implements SearchEngineInterface { @@ -355,7 +358,18 @@ class ElasticSearchEngine implements SearchEngineInterface 'index' => 'phraseanet', ], $options); - $client = new Client(['hosts' => [sprintf('%s:%s', $options['host'], $options['port'])]]); + $clientParams = ['hosts' => [sprintf('%s:%s', $options['host'], $options['port'])]]; + + if ($app['debug']) { + /** @var $logger Logger */ + $logger = new $app['monolog.logger.class']('search logger'); + $logger->pushHandler(new RotatingFileHandler($app['log.path'].DIRECTORY_SEPARATOR.'elasticsearch.log', 2), Logger::INFO); + + $clientParams['logObject'] = $logger; + $clientParams['logging'] = true; + } + + $client = new Client($clientParams); return new static($app, $client, $app['serializer.es-record'], $options['index']); }