public static ILoggerFactory AddFluentd(
     this ILoggerFactory factory,
     LogLevel logLevel,
     FluentdOptions options)
 {
     return(AddFluentd(
                factory,
                (_, level) => level >= logLevel,
                options));
 }
 public static ILoggerFactory AddFluentd(
     this ILoggerFactory factory,
     Func <string, LogLevel, bool> filter,
     FluentdOptions options)
 {
     if (factory == null)
     {
         throw new ArgumentNullException(nameof(factory));
     }
     factory.AddProvider(new FluentdLoggerProvider(filter, options));
     return(factory);
 }
 public static ILoggerFactory AddFluentd(
     this ILoggerFactory factory,
     ILoggerSwitches swithes,
     FluentdOptions options)
 {
     if (factory == null)
     {
         throw new ArgumentNullException(nameof(factory));
     }
     factory.AddProvider(new FluentdLoggerProvider(swithes, options));
     return(factory);
 }
        public static ILoggingBuilder AddFluentd(
            this ILoggingBuilder builder,
            IConfiguration configuration,
            Action <FluentdOptions> configureOptions
            )
        {
            _ = builder ?? throw new ArgumentNullException(nameof(builder));
            _ = configuration ?? throw new ArgumentNullException(nameof(configuration));
            _ = configureOptions ?? throw new ArgumentNullException(nameof(configureOptions));

            var options = new FluentdOptions();

            configureOptions(options);

            builder.AddProvider(new FluentdLoggerProvider(new ConfigurationLoggerSwitches(configuration), options));

            return(builder);
        }
 public FluentdClient(FluentdOptions options)
 {
     _options = options;
 }
 public FluentdLoggerProvider(ILoggerSwitches switches, FluentdOptions options)
 {
     _switches  = switches;
     _options   = options;
     _logClient = new FluentdClient(options);
 }
 public FluentdLoggerProvider(Func <string, LogLevel, bool> filter, FluentdOptions options)
 {
     _filter    = filter;
     _options   = options;
     _logClient = new FluentdClient(options);
 }