static async Task RunWithHost(bool deferLogging)
    {
        var builder           = Host.CreateDefaultBuilder();
        var logMessageCapture = new LogMessageCapture();

        builder.ConfigureLogging(logging => { logging.AddProvider(logMessageCapture); });
        builder.UseMicrosoftLogFactoryLogging(deferLogging);
        builder.UseNServiceBus(ctx =>
        {
            var configuration = new EndpointConfiguration("HostingTest");
            configuration.UseTransport <LearningTransport>();
            return(configuration);
        });

        using var host = builder.Build();
        await host.StartAsync();

        var messageSession = host.Services.GetService <IMessageSession>();

        var message = new MyMessage
        {
            DateSend = DateTime.Now,
        };
        await messageSession.SendLocal(message);

        await Task.Delay(500);

        Assert.NotEmpty(LogMessageCapture.LoggingEvents);
        await host.StopAsync();
    }
    public async Task Ensure_log_messages_are_redirected()
    {
        using var msLoggerFactory = new LoggerFactory();
        var logMessageCapture = new LogMessageCapture();

        msLoggerFactory.AddProvider(logMessageCapture);
        var logFactory = LogManager.Use <MicrosoftLogFactory>();

        logFactory.UseMsFactory(msLoggerFactory);

        var configuration = new EndpointConfiguration("Tests");

        configuration.UseTransport <LearningTransport>();

        var endpoint = await Endpoint.Start(configuration);

        var message = new MyMessage
        {
            DateSend = DateTime.Now,
        };
        await endpoint.SendLocal(message);

        await Task.Delay(500);

        Assert.NotEmpty(LogMessageCapture.LoggingEvents);
        await endpoint.Stop();
    }
    public void Ensure_log_messages_are_redirected()
    {
        LogMessageCapture.CaptureLogMessages();
        LogManager.Use <NLogFactory>();

        var busConfig = new BusConfiguration();

        busConfig.EndpointName("NLogTests");
        busConfig.UseSerialization <JsonSerializer>();
        busConfig.EnableInstallers();
        busConfig.UsePersistence <InMemoryPersistence>();

        using (var bus = Bus.Create(busConfig))
        {
            bus.Start();
            Assert.IsNotEmpty(LogMessageCapture.Messages);
        }
    }
示例#4
0
    public async Task Ensure_log_messages_are_redirected()
    {
        LogMessageCapture.CaptureLogMessages();
        LogManager.Use <NLogFactory>();

        var endpointConfiguration = new EndpointConfiguration("NLogTests");

        endpointConfiguration.UseSerialization <JsonSerializer>();
        endpointConfiguration.EnableInstallers();
        endpointConfiguration.SendFailedMessagesTo("error");
        endpointConfiguration.UsePersistence <InMemoryPersistence>();

        var endpoint = await Endpoint.Start(endpointConfiguration);

        try
        {
            Assert.IsNotEmpty(LogMessageCapture.LoggingEvents);
        }
        finally
        {
            await endpoint.Stop();
        }
    }