0

I'm trying to figure out how to configure my asp.net core app, that already works with NLog, so that NServiceBus will use it for its internal logging. The current NLog config works perfectly.

NServiceBus refers to this, but I haven't found it helpful.

https://docs.particular.net/samples/logging/extensions-logging/

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args)
    {

        return Host.CreateDefaultBuilder(args)
            .UseNServiceBus(hostBuilderContext =>
            {
                var endpointConfiguration = new EndpointConfiguration("MySite");
                endpointConfiguration.EnableInstallers();
                var transport = endpointConfiguration.UseTransport<AzureServiceBusTransport>();
                transport.ConnectionString(
                    "");

                var persistence =
                    endpointConfiguration.UsePersistence<AzureStoragePersistence, StorageType.Sagas>();
                persistence.ConnectionString(
                    "");
                persistence.CreateSchema(true);

                //endpointConfiguration.SendOnly();
                endpointConfiguration.EnableUniformSession();
                persistence.AssumeSecondaryIndicesExist();
                return endpointConfiguration;
            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.ConfigureLogging(x =>
                {
                    x.ClearProviders();
                    x.SetMinimumLevel(LogLevel.Trace);
                });
                webBuilder.UseStartup<Startup>();
                webBuilder.UseNLog();
            });
    }
    }
Julian
  • 33,915
  • 22
  • 119
  • 174
Darthg8r
  • 12,377
  • 15
  • 63
  • 100

2 Answers2

1

Upgrade to NServiceBus.Extensions.Hosting 1.1.0 which brings in built-in support for Microsoft.Extensions.Logging. As long as the logging is configured before UseNServiceBus (order is important on the generic host)

Daniel Marbach
  • 2,294
  • 12
  • 15
0

What happens if you do this:

return Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>())
    .ConfigureLogging(x =>
    {
        x.ClearProviders();
        x.SetMinimumLevel(LogLevel.Trace);
    })
    .UseNServiceBus(hostBuilderContext =>
        {
            var endpointConfiguration = new EndpointConfiguration("MySite");
            endpointConfiguration.EnableInstallers();
            var transport = endpointConfiguration.UseTransport<AzureServiceBusTransport>();
            transport.ConnectionString(
                "");

            var persistence =
                endpointConfiguration.UsePersistence<AzureStoragePersistence, StorageType.Sagas>();
            persistence.ConnectionString(
                "");
            persistence.CreateSchema(true);

            //endpointConfiguration.SendOnly();
            endpointConfiguration.EnableUniformSession();
            persistence.AssumeSecondaryIndicesExist();
            return endpointConfiguration;
        })
    .UseNLog();
Rolf Kristensen
  • 17,785
  • 1
  • 51
  • 70