Reputation: 12675
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();
});
}
}
Upvotes: 0
Views: 230
Reputation: 2314
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)
Upvotes: 1
Reputation: 19857
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();
Upvotes: 0