public void SerilogFormatterCannotBeReplaced() { var reporter = new SerilogMetricsReporter(new SerilogMetricsReporterOptions()); Action set = () => reporter.Formatter = new MetricsTextOutputFormatter(); set.Should().Throw <NotSupportedException>(); }
public void UsesFilterFromOptions() { var filter = Mock.Of <IFilterMetrics>(); var options = new SerilogMetricsReporterOptions { Filter = filter }; var reporter = new SerilogMetricsReporter(options); reporter.Filter.Should().BeSameAs(filter); }
public void UsesFlushIntervalFromOptions() { var tenSeconds = TimeSpan.FromSeconds(10); var options = new SerilogMetricsReporterOptions { FlushInterval = tenSeconds }; var reporter = new SerilogMetricsReporter(options); reporter.FlushInterval.Should().Be(tenSeconds); }
/// <summary> /// Add the <see cref="SerilogMetricsReporter" /> allowing metrics to be reported to Serilog. /// </summary> /// <param name="metricReporterProviderBuilder"> /// The <see cref="IMetricsReportingBuilder" /> used to configure metrics reporters. /// </param> /// <param name="setupAction">The Serilog reporting options to use.</param> /// <returns> /// An <see cref="IMetricsBuilder" /> that can be used to further configure App Metrics. /// </returns> public static IMetricsBuilder ToSerilog( this IMetricsReportingBuilder metricReporterProviderBuilder, Action <SerilogMetricsReporterOptions> setupAction) { if (metricReporterProviderBuilder == null) { throw new ArgumentNullException(nameof(metricReporterProviderBuilder)); } var options = new SerilogMetricsReporterOptions(); setupAction?.Invoke(options); var reporter = new SerilogMetricsReporter(options); return(metricReporterProviderBuilder.Using(reporter)); }
public void SerilogFormatterUsedByDefault() { var reporter = new SerilogMetricsReporter(new SerilogMetricsReporterOptions()); reporter.Formatter.Should().BeOfType <SerilogMetricsOutputFormatter>(); }