Пример #1
0
        /// <summary>
        /// Load the config file from the disk.
        /// </summary>
        /// <remarks>
        /// New config file will be created if not found.
        /// </remarks>
        /// <returns>Loaded or created config.</returns>
        public static ElasticConfig Load()
        {
            var configPath = Path.Combine(Directory.GetCurrentDirectory(), ConfigName);

            var configSerializer = new XmlSerializer(typeof(ElasticConfig));

            if (!File.Exists(ConfigName))
            {
                _logger.Info($"Generating default config at {configPath}");

                var config = new ElasticConfig
                {
                    NodeUrl = DefaultNodeUrl,
                };

                using (var file = File.Create(configPath))
                {
                    configSerializer.Serialize(file, config);
                }

                return(config);
            }

            _logger.Info($"Loading config {configPath}");

            using (var file = File.OpenRead(configPath))
            {
                return((ElasticConfig)configSerializer.Deserialize(file));
            }
        }
Пример #2
0
        /// <inheritdoc/>
        public override void Attach()
        {
            try
            {
                var config   = ElasticConfig.Load();
                var settings = new ConnectionSettings(new Uri(config.NodeUrl));
                ElasticClient = new ElasticClient(settings);

                // ping the elasticsearch server & output error log if 404
                Task.Factory.StartNew(PingTest, _canceller.Token);
            }
            catch (Exception e)
            {
                _logger.Error(e);
            }
        }