MassTransit:有没有记录收入消息的方法 [英] MassTransit: is there a way to log income messages

查看:101
本文介绍了MassTransit:有没有记录收入消息的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想记录我在MassTransit中消耗的每条消息.有没有办法在我可以处理收入消息或使用配置来实现的情况下实现全局拦截器?

I'd like to log every message that i consume in MassTransit. Is there a way to implement global interceptor where i could handle income message or achieve that using configuration?

我当前的配置如下:

BusFactory = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
    var host = cfg.Host(new Uri(AppSettings.RmqConnectionString), h => { });

    cfg.UseNLog();

    cfg.ReceiveEndpoint(host, RmqPropertyKeys.CallbackQueue, e=> e.LoadFrom(container));
});

推荐答案

文档中包含一个示例中间件过滤器,该过滤器可以准确地执行此操作,并记录传递给使用者的每条消息.

The documentation includes an example middleware filter which does exactly that, logs on every message that is delivered to a consumer.

http://masstransit-project.com/advanced/middleware/custom.html

如果愿意,还可以使用内置的LogFilter:

You can also use the built-in LogFilter if you like:

cfg.UseLog(Console.Out, (context,logContext) => $"Format your log message");

这篇关于MassTransit:有没有记录收入消息的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆