Пример #1
0
        /// <summary>
        ///     Add the <see cref="EnvInfoJsonOutputFormatter" /> allowing metric values to optionally be reported as JSON.
        /// </summary>
        /// <param name="envFormattingBuilder">
        ///     The <see cref="IEnvOutputFormattingBuilder" /> used to configure JSON formatting
        ///     options.
        /// </param>
        /// <param name="setupAction">The JSON formatting options to use.</param>
        /// <returns>
        ///     An <see cref="IMetricsBuilder" /> that can be used to further configure App Metrics.
        /// </returns>
        public static IMetricsBuilder AsJson(
            this IEnvOutputFormattingBuilder envFormattingBuilder,
            Action <MetricsJsonOptions> setupAction = null)
        {
            if (envFormattingBuilder == null)
            {
                throw new ArgumentNullException(nameof(envFormattingBuilder));
            }

            var options = new MetricsJsonOptions();

            setupAction?.Invoke(options);

            var formatter = new EnvInfoJsonOutputFormatter(options.SerializerSettings);

            return(envFormattingBuilder.Using(formatter));
        }
Пример #2
0
 public JsonEnvOutputFormatterTests(ITestOutputHelper output, MetricProviderTestFixture fixture)
 {
     _output    = output;
     _formatter = new EnvInfoJsonOutputFormatter();
     _env       = fixture.Env;
 }