public ElkRedisLogger(IConnectionMultiplexer connection, ElkRedisOption option, string logger_name) { connection.Should().NotBeNull(); option.Should().NotBeNull(); logger_name.Should().NotBeNullOrEmpty(); this._connection = connection; this._option = option; this._logger_name = logger_name; }
public static ILoggingBuilder AddElkRedisPipline(this ILoggingBuilder builder, IConnectionMultiplexer con, Func <ElkRedisOption, ElkRedisOption> config = null) { con.Should().NotBeNull("elk pipline:redis connection"); config.Should().NotBeNull("elk pipline:config"); var option = new ElkRedisOption(); if (config != null) { option = config.Invoke(option); } option.Valid(); builder.AddProvider(provider: new ElkRedisProvider(connection: con, option: option)); return(builder); }
public static ILoggerFactory AddElkRedis(this ILoggerFactory factory, IConnectionMultiplexer con, Func <ElkRedisOption, ElkRedisOption> config) { con.Should().NotBeNull("elk pipline:redis connection"); config.Should().NotBeNull("elk pipline:config"); var option = new ElkRedisOption(); if (config != null) { option = config.Invoke(option); } option.Valid(); factory.AddProvider(provider: new ElkRedisProvider(connection: con, option: option)); return(factory); }
public ElkRedisProvider(IConnectionMultiplexer connection, ElkRedisOption option) { this._con = connection; this._logger_getter = key => new ElkRedisLogger(this._con, option, key); }