【问题标题】:NServicebus with NLogNServicebus 和 NLog
【发布时间】:2020-08-12 23:46:51
【问题描述】:

我正在尝试弄清楚如何配置我的 asp.net 核心应用程序,该应用程序已经与 NLog 一起使用,以便 NServiceBus 将其用于其内部日志记录。当前的 NLog 配置完美运行。

NServiceBus 参考了这个,但我没有发现它有帮助。

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();
            });
    }
    }

【问题讨论】:

    标签: c# asp.net-core nlog nservicebus


    【解决方案1】:

    升级到NServiceBus.Extensions.Hosting 1.1.0,它带来了对Microsoft.Extensions.Logging 的内置支持。只要在UseNServiceBus 之前配置了日志记录(通用主机上的顺序很重要)

    【讨论】:

      【解决方案2】:

      如果你这样做会发生什么:

      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();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多