Esempio n. 1
0
        /// <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);
        }
Esempio n. 3
0
        /// <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));
        }