/// <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 LogstashHttp( this LoggerSinkConfiguration loggerSinkConfiguration, LogstashHttpSinkOptions options) { var sink = new LogstashHttpSink(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 LogstashHttp( this LoggerSinkConfiguration loggerSinkConfiguration, string logstashUri) { if (string.IsNullOrEmpty(logstashUri)) throw new ArgumentNullException(nameof(logstashUri), "No Logstash uri specified."); var options = new LogstashHttpSinkOptions { LogstashUri = logstashUri }; return LogstashHttp(loggerSinkConfiguration, options); }
/// <summary> /// Overload to allow basic configuration through AppSettings. /// </summary> /// <param name="loggerSinkConfiguration">Options for the sink.</param> /// <param name="logstashUri">URI for Logstash.</param> /// <param name="logstashUser">User for basic authentication</param> /// <param name="logstashPassword">Password for basic authentication</param> /// <returns>LoggerConfiguration object</returns> /// <exception cref="ArgumentNullException"><paramref name="logstashUri" /> is <see langword="null" />.</exception> public static LoggerConfiguration LogstashHttp( this LoggerSinkConfiguration loggerSinkConfiguration, string logstashUri, string logstashUser, string logstashPassword) { if (string.IsNullOrEmpty(logstashUri)) { throw new ArgumentNullException(nameof(logstashUri), "No Logstash uri specified."); } var options = new LogstashHttpSinkOptions { LogstashUri = logstashUri, LogstashUser = logstashUser, LogstashPassword = logstashPassword }; return(LogstashHttp(loggerSinkConfiguration, options)); }