/// <summary> /// Adds a sink that writes log events as documents to Logstash http plugin. /// </summary> /// <param name="loggerSinkConfiguration">Options for the sink.</param> /// <param name="options">Provides options specific to the LogstashHttp sink</param> /// <returns>LoggerConfiguration object</returns> public static LoggerConfiguration HttpLogstashEcs( this LoggerSinkConfiguration loggerSinkConfiguration, HttpLogstashEcsSinkOptions options) { var sink = new HttpLogstashEcsSink(options); return(loggerSinkConfiguration.Sink(sink, options.MinimumLogEventLevel ?? LevelAlias.Minimum)); }
/// <summary> /// Overload to allow basic configuration through AppSettings. /// </summary> /// <param name="loggerSinkConfiguration">Options for the sink.</param> /// <param name="logstashUri">URI for Logstash.</param> /// <returns>LoggerConfiguration object</returns> /// <exception cref="ArgumentNullException"><paramref name="logstashUri" /> is <see langword="null" />.</exception> public static LoggerConfiguration HttpLogstashEcs( this LoggerSinkConfiguration loggerSinkConfiguration, string logstashUri) { if (string.IsNullOrEmpty(logstashUri)) { throw new ArgumentNullException(nameof(logstashUri), "No Logstash uri specified."); } var options = new HttpLogstashEcsSinkOptions { LogstashUri = logstashUri }; return(HttpLogstashEcs(loggerSinkConfiguration, options)); }