Example #1
0
    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);
    }
Example #2
0
        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);
        });