예제 #1
0
        private static ILoggingBuilder AddTestLoggerProvider(this ILoggingBuilder builder, TestLoggerOptions options)
        {
            var sink = MELTBuilder.CreateTestSink(options);

            builder.Services.TryAddSingleton(sink);
            builder.Services.TryAddSingleton <IInternalTestSink>(sink);
            builder.Services.TryAddTransient <ITestLoggerSink, TestLoggerSinkAccessor>();
            return(builder.AddProvider(new TestLoggerProvider(sink)));
        }
예제 #2
0
        public static ILoggingBuilder AddTestLogger(this ILoggingBuilder builder, Action <TestLoggerOptions> configure)
        {
            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var options = MELTBuilder.CreateOptions(configure);

            return(builder.AddTestLogger(MELTBuilder.CreateTestSink(options)));
        }
        private static ILoggingBuilder AddSerilogTestLoggerProvider(this ILoggingBuilder builder, TestLoggerOptions options)
        {
            var sink = MELTBuilder.CreateTestSink(options);

            builder.Services.TryAddSingleton(sink);
#pragma warning disable CS0612 // Type or member is obsolete
            builder.Services.TryAddSingleton <IInternalTestSink>(sink);
#pragma warning restore CS0612 // Type or member is obsolete
            builder.Services.TryAddTransient <ISerilogTestLoggerSink, SerilogTestLoggerSinkAccessor>();
#pragma warning disable CS0612 // Type or member is obsolete
            return(builder.AddProvider(new TestLoggerProvider(sink)));

#pragma warning restore CS0612 // Type or member is obsolete
        }
예제 #4
0
 public LoggingTest(WebApplicationFactory <Startup> factory)
 {
     _sink    = MELTBuilder.CreateTestSink(options => options.FilterByNamespace(nameof(SampleWebApplication)));
     _factory = factory.WithWebHostBuilder(builder => builder.UseTestLogging(_sink));
 }
예제 #5
0
 public static ILoggingBuilder AddTestLogger(this ILoggingBuilder builder)
 => builder.AddTestLogger(MELTBuilder.CreateTestSink());
예제 #6
0
 public static ILoggingBuilder AddTestLogger(this ILoggingBuilder builder, Action <TestSinkOptions> configure)
 => builder.AddTestLogger(MELTBuilder.CreateTestSink(configure));