static async Task Main() { Console.Title = "Samples.Logging.ExtensionsLogging"; #region NLogConfiguragion var config = new LoggingConfiguration(); var consoleTarget = new ColoredConsoleTarget { Layout = "${level}|${logger}|${message}${onexception:${newline}${exception:format=tostring}}" }; config.AddTarget("console", consoleTarget); config.LoggingRules.Add(new LoggingRule("*", NLog.LogLevel.Debug, consoleTarget)); NLog.LogManager.Configuration = config; #endregion #region MicrosoftExtensionsLoggingNLog Microsoft.Extensions.Logging.ILoggerFactory extensionsLoggerFactory = new NLogLoggerFactory(); NServiceBus.Logging.ILoggerFactory nservicebusLoggerFactory = new ExtensionsLoggerFactory(loggerFactory: extensionsLoggerFactory); NServiceBus.Logging.LogManager.UseFactory(loggerFactory: nservicebusLoggerFactory); #endregion var endpointConfiguration = new EndpointConfiguration("Samples.Logging.ExtensionsLogging"); endpointConfiguration.UsePersistence <LearningPersistence>(); endpointConfiguration.UseTransport <LearningTransport>(); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); var myMessage = new MyMessage(); await endpointInstance.SendLocal(myMessage) .ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await endpointInstance.Stop() .ConfigureAwait(false); }
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseNServiceBus(hostBuilderContext => { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.development.json", optional: true) .AddJsonFile("appsettings.json", optional: true) .Build(); ServiceBusOptions serviceBusOptions = new ServiceBusOptions(); config.GetSection("serviceBus").Bind(serviceBusOptions); var endpointConfiguration = new EndpointConfiguration("DarthBot.Discord"); endpointConfiguration.EnableInstallers(); var transport = endpointConfiguration.UseTransport <AzureServiceBusTransport>(); transport.ConnectionString(serviceBusOptions.Transport); var persistence = endpointConfiguration.UsePersistence <AzureStoragePersistence>(); persistence.ConnectionString(serviceBusOptions.Persistence); //endpointConfiguration.SendOnly(); endpointConfiguration.EnableUniformSession(); return(endpointConfiguration); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup>(); webBuilder.ConfigureLogging((hostingContext, logging) => { logging.ClearProviders(); logging.SetMinimumLevel(LogLevel.Trace); }) .UseNLog(); Microsoft.Extensions.Logging.ILoggerFactory extensionsLoggerFactory = new NLogLoggerFactory(); NServiceBus.Logging.ILoggerFactory nservicebusLoggerFactory = new ExtensionsLoggerFactory(loggerFactory: extensionsLoggerFactory); NServiceBus.Logging.LogManager.UseFactory(loggerFactory: nservicebusLoggerFactory); });