possibly reduce logging

This commit is contained in:
Daniel Klabbers 2021-12-13 12:06:26 +01:00
parent 68fce10d56
commit ca229c8af8
2 changed files with 16 additions and 3 deletions

View File

@ -41,4 +41,10 @@ app.initializers.add('blomstra-search', () => {
options: Object.fromEntries(languages.entries()), options: Object.fromEntries(languages.entries()),
default: 'english', default: 'english',
}) })
.registerSetting({
setting: 'blomstra-search.elastic-index',
label: app.translator.trans('blomstra-search.admin.elastic-index'),
default: 'flarum',
type: 'input'
})
}); });

View File

@ -10,6 +10,7 @@ use Elasticsearch\Client as Elastic;
use Elasticsearch\ClientBuilder; use Elasticsearch\ClientBuilder;
use Flarum\Api\Client; use Flarum\Api\Client;
use Flarum\Foundation\AbstractServiceProvider; use Flarum\Foundation\AbstractServiceProvider;
use Flarum\Foundation\Config;
use Flarum\Http\Middleware\ExecuteRoute; use Flarum\Http\Middleware\ExecuteRoute;
use Flarum\Settings\SettingsRepositoryInterface; use Flarum\Settings\SettingsRepositoryInterface;
use Illuminate\Contracts\Container\Container; use Illuminate\Contracts\Container\Container;
@ -31,10 +32,16 @@ class Provider extends AbstractServiceProvider
/** @var SettingsRepositoryInterface $settings */ /** @var SettingsRepositoryInterface $settings */
$settings = $this->container->make(SettingsRepositoryInterface::class); $settings = $this->container->make(SettingsRepositoryInterface::class);
$this->container->singleton(Elastic::class, function (Container $container) use ($settings) { /** @var Config $config */
$config = $this->container->make(Config::class);
$this->container->singleton(Elastic::class, function (Container $container) use ($settings, $config) {
$builder = ClientBuilder::create() $builder = ClientBuilder::create()
->setHosts([$settings->get('blomstra-search.elastic-endpoint')]) ->setHosts([$settings->get('blomstra-search.elastic-endpoint')]);
->setLogger($container->make(LoggerInterface::class));
if ($config->inDebugMode()) {
$builder->setLogger($container->make(LoggerInterface::class));
}
if ($settings->get('blomstra-search.elastic-username')) { if ($settings->get('blomstra-search.elastic-username')) {
$builder->setBasicAuthentication( $builder->setBasicAuthentication(