Rabbitmq MassTransit传奇-错误和错误;矛盾

Rabbitmq MassTransit传奇-错误和错误;矛盾,rabbitmq,messaging,servicebus,masstransit,saga,Rabbitmq,Messaging,Servicebus,Masstransit,Saga,我已经实现了一个masstransit传奇,它应该可以正常工作,很多次。但是,有时消息会进入错误队列或似乎消失。我用的是RabbitMQ 我想知道: 1.如何获取导致消息进入错误队列的原因/异常消息?(注意:我的处理程序逻辑在try-catch块中,因此显然这些错误甚至在调用处理程序逻辑之前就发生了) 2.是什么原因造成了信息丢失 提前感谢。我似乎已经解决了这个问题:要获取异常,请配置NLog(或log4Net),添加对相应NLogIntegration库的引用,最后在服务总线的初始化中,包括s

我已经实现了一个masstransit传奇,它应该可以正常工作,很多次。但是,有时消息会进入错误队列或似乎消失。我用的是RabbitMQ

我想知道: 1.如何获取导致消息进入错误队列的原因/异常消息?(注意:我的处理程序逻辑在try-catch块中,因此显然这些错误甚至在调用处理程序逻辑之前就发生了) 2.是什么原因造成了信息丢失


提前感谢。

我似乎已经解决了这个问题:要获取异常,请配置NLog(或log4Net),添加对相应NLogIntegration库的引用,最后在服务总线的初始化中,包括sbc.UseNLog();(适用于非直瞄发射)。似乎没有任何在线文档涵盖这一点。必须通过查看NLogIntegration库的方法来解决这个问题


在发送到错误队列的消息时,错误消息为“超出了消息重试限制”rabbitmq://localhost/workers_sagas:08cf6e3e-d772-e62b-1803-73779fa60000'。显然,这是因为我使用内存中的存储库进行Saga持久化。因此,每当承载saga的进程重新启动时,所有尚未完成的saga都会导致上述错误,因为它们不再位于存储库中。

我做了一些研究,发现我可以使用NLog或Log4Net配置日志记录,但我似乎看不到如何配置日志记录的任何示例。帮助任何人吗?邮件列表可能是一个更好的提问的地方:。你也可以看看docs网站:谢谢@Travis。但是,正如我在下面的回答中所指出的,docs站点似乎没有包含关于如何使用NLog配置日志记录的说明。如果您能够提出包含该文档的请求,我们很乐意接受对文档的更新,以涵盖这一点。正确,如果您想让它们在流程生命周期之外继续存在,请使用NHibernate存储库。感谢您发布此信息。我花了太长时间才发现如何使用它。