发生异常时是否有记录消息内容?
我查看了各种日志记录扩展,但它们只是记录 CorrelationId。并且消息内容不可用。
MessageContext 中有一个 CurrentMessge 属性,但在记录器写入异常时该属性不可用。
我试图处理 PoisonMessage 事件,它允许我记录消息内容。
public static void OnPoisonMessage(IBus bus, ReceivedTransportMessage receivedTransportMessage, Rebus.Bus.PoisonMessageInfo poisonMessageInfo) {
var message = new JsonMessageSerializer().Deserialize(receivedTransportMessage);
Log.Error("{@messageType} failed {@message}", message.Messages[0].GetType(), message);
}
这很好用,但是现在我在日志中有两个错误,一个来自我的处理程序,另一个来自记录器。
我想知道是否有更好的方法来处理这个要求。