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

5

Asp.NET Core会根据配置记录每个进入的请求。现在,我想要相同的功能用于我发送的Flurl请求。当请求失败或未完成时,最重要的是我想知道。为了调试,我发现以详细的方式记录所有请求非常有帮助。

1个回答

10
当涉及到跨领域的问题,如日志记录,您需要使用Flurl的event handlers,具体来说是BeforeCallAfterCallOnError以及它们的异步版本(BeforeCallAsync, AfterCallAsync, 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);

2
如何在.NET Core中使用Logger对象注入OnErrorAsync? - Tomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接