【问题标题】:Can I Log all requests using Flurl.Http?我可以使用 Flurl.Http 记录所有请求吗?
【发布时间】:2019-11-21 09:36:14
【问题描述】:

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

【问题讨论】:

    标签: flurl


    【解决方案1】:

    当然可以。对于像日志记录这样的横切关注点,您想使用 Flurl 的 event handlers,特别是 BeforeCallAfterCallOnError,以及它们的异步等效项(BeforeCallAsyncAfterCallAsyncOnErrorAsync)。这是一个错误记录示例:

    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);
    

    【讨论】:

      猜你喜欢
      • 2012-04-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 2014-08-02
      • 1970-01-01
      相关资源
      最近更新 更多