c# - 如何在 MassTransist 上显示总线配置
问题描述
我在 netcore 控制台应用程序上使用 MassTransit 和 Rabbit MQ v5.1.4。
假设我有以下内容:
public MassTransitConfigurator()
{
bus = Bus.Factory.CreateUsingRabbitMq(sbc =>
{
var host = sbc.Host(Settings.Rabbit.Uri, h =>
{
h.Username(Settings.Rabbit.User);
h.Password(Settings.Rabbit.Pass);
});
sbc.ReceiveEndpoint(host, Settings.Rabbit.Queue, e =>
{
e.Consumer<FooConsumer>();
e.Consumer<BarConsumer>();
});
sbc.ReceiveEndpoint(host, Settings.Rabbit.FaultQueue, e =>
{
e.Consumer<FooFaultConsumer>();
e.Consumer<BarFaultConsumer>();
});
});
}
当我调用可以访问bus
实例的方法时,我想记录以下内容:
public void StartListening()
{
bus.Start();
// What to do here so that we get something like:
Console.WriteLine($"Listening on: {Settings.Rabbit.Uri}");
Console.WriteLine($" Queues: ");
Console.WriteLine($" - {Settings.Rabbit.Queue}");
Console.WriteLine($" - {Settings.Rabbit.FaultQueue}");
Console.WriteLine($" Event Types: ");
Console.WriteLine($" - {Foo}");
Console.WriteLine($" - {Bar}");
}
但是从日志中获取数据,bus
而不是手动将其编码到日志中。
我查看了官方文档,但没有看到类似的内容。
笔记:
- 这
Console.WriteLine
将是一个记录器类。 - 该类
Settings
将是从配置中读取的值。
解决方案
您可以将总线配置输出为对象图,您可以使用 JSON.NET 将其转换为 JSON:
http://masstransit-project.com/MassTransit/troubleshooting/show-config.html
推荐阅读
- amazon-web-services - 尝试在多个 s3 存储桶上启用版本控制时出错
- event-driven-design - 在基于事件驱动架构构建的应用程序中共享数据
- python - Pandas:交易列表中每个股票代码每天的累计持股量
- azure-devops - Azure DevOps | 更改组织区域 - 找不到美国选项
- outlook - Outlook 插件 - 如果安装了自定义字体,则后备字体不起作用
- ruby-on-rails-6 - 创建 ruby-on-rails 插件以获取我们在您的链接帐户中搜索的linkedin个人资料数据
- for-loop - 对 i 和 j 使用 for For 循环
- sql - 通过基于另一列值递增一列来生成唯一值
- xamarin.forms - 如何将 VSTS 内部版本号设置到应用中心
- reactjs - Ant 设计确认模式没有在单击是和否时关闭