protected override void InitializeTarget()
        {
            base.InitializeTarget();

            var uri            = ConnectionStringName.GetConnectionString() ?? Uri;
            var nodes          = uri.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(url => new Uri(url));
            var connectionPool = new StaticConnectionPool(nodes);

            var config = new ConnectionConfiguration(connectionPool);

            if (RequireAuth)
            {
                config.BasicAuthentication(Username, Password);
            }

            if (ElasticsearchSerializer != null)
            {
                config = new ConnectionConfiguration(connectionPool, _ => ElasticsearchSerializer);
            }

            _client = new ElasticLowLevelClient(config);

            if (!string.IsNullOrEmpty(ExcludedProperties))
            {
                _excludedProperties = ExcludedProperties.Split(new [] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            }
        }
        private void EnsureConnectionOpen()
        {
            if (_client == null)
            {
                var uri            = ConnectionStringName.GetConnectionString() ?? Uri;
                var nodes          = uri.Render(new LogEventInfo()).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(url => new Uri(url));
                var connectionPool = new StaticConnectionPool(nodes);

                var config =
                    new ConnectionSettings(connectionPool, sourceSerializer: (builtin, settings) => new JsonNetSerializer(
                                               builtin, settings,
                                               () => new JsonSerializerSettings
                {
                    NullValueHandling     = NullValueHandling.Include,
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                },
                                               resolver => resolver.NamingStrategy = new SnakeCaseNamingStrategy()
                                               ));

                if (RequireAuth)
                {
                    config.BasicAuthentication(Username, Password);
                }

                if (DisableAutomaticProxyDetection)
                {
                    config.DisableAutomaticProxyDetection();
                }

                _client = new ElasticLowLevelClient(config);
            }
        }
Esempio n. 3
0
        protected override void InitializeTarget()
        {
            base.InitializeTarget();

            _environment            = EnvironmentKeyName?.GetConfigurationValue();
            _connectionString       = ConnectionStringName.GetConnectionString();
            _redisConnectionManager = new RedisConnectionManager(_connectionString);
        }