我可以使用 Flurl.Http 记录所有请求吗?

Can I Log all requests using Flurl.Http?

Asp.NET 核心根据配置记录每个进入的请求。现在我希望对我发送的 Flurl 请求具有相同的功能。最值得注意的是,我当然想知道请求何时失败或未完成。对于调试,我发现详细记录所有请求非常有帮助。

当然可以。对于像日志记录这样的横切关注点,您想要使用 Flurl 的 event handlers,特别是 BeforeCallAfterCallOnError 及其异步等价物(BeforeCallAsyncAfterCallAsync, OnErrorAsync).这是一个错误记录示例:

private async Task HandleFlurlErrorAsync(HttpCall call) {
    await LogErrorAsync(call.Exception.Message);
    call.ExceptionHandled = true; // prevents exception from bubbling up, if desired
}

// Configure once at startup:
FlurlHttp.Configure(settings => settings.OnErrorAsync = HandleFlurlErrorAsync);