记录处理的 MassTransit Saga 异常

Log handled MassTransit Saga exception

我正在尝试弄清楚如何记录已处理的异常。目前,从 Activity 抛出的异常将被吞没(例如,如果在尝试创建 Acitivity 时出现 DI 错误)。

如何记录捕获的异常?

Initially(
    When(UpdateRequested)
        .Activity(x => x.OfType<HandleUpdateRequestActivity>())
        .TransitionTo(Updating)
        .Catch<Exception>(then => then.Finalize())
);

(抱歉最近向 MassTransit 标签发送垃圾邮件 :))

首先,简单地纠正一下术语,它不是swallowed,而是handled

上面的代码正在捕获异常。要记录就记录吧

.Catch<Exception>(then =>
    then.Then(context => Log(context.Exception))
        .Finalize())