IHttpClientAsyncLogger 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個針對命名 HttpClient 實例的 IHttpClientFactory非同步自訂 HTTP 請求日誌的抽象化。
public interface class IHttpClientAsyncLogger : Microsoft::Extensions::Http::Logging::IHttpClientLogger
public interface IHttpClientAsyncLogger : Microsoft.Extensions.Http.Logging.IHttpClientLogger
type IHttpClientAsyncLogger = interface
interface IHttpClientLogger
Public Interface IHttpClientAsyncLogger
Implements IHttpClientLogger
- 實作
備註
非同步方法(例如 LogRequestStartAsync(HttpRequestMessage, CancellationToken))會從非同步碼路徑(例如 SendAsync(HttpRequestMessage, CancellationToken))呼叫,而繼承自 IHttpClientLogger 的同步對應方法(例如 LogRequestStart(HttpRequestMessage))則會從相應的同步碼路徑呼叫。
使用者是否使用 ILogger介面,或使用其他資料,以及要記錄哪些內容,取決於使用者。 然而,實作時應注意存取某些 HttpRequestMessage 屬性 HttpResponseMessage (例如讀取內容串流)可能產生的不良副作用;若可能,應避免此類行為。
日誌實作也不應拋出任何例外,因為日誌中未處理的例外會使請求失敗。
方法
| 名稱 | Description |
|---|---|
| LogRequestFailed(Object, HttpRequestMessage, HttpResponseMessage, Exception, TimeSpan) |
日誌 異常發生在發送 HTTP 請求時。 (繼承來源 IHttpClientLogger) |
| LogRequestFailedAsync(Object, HttpRequestMessage, HttpResponseMessage, Exception, TimeSpan, CancellationToken) |
日誌 異常發生在發送 HTTP 請求時。 |
| LogRequestStart(HttpRequestMessage) |
在發送 HTTP 請求前先記錄日誌。 (繼承來源 IHttpClientLogger) |
| LogRequestStartAsync(HttpRequestMessage, CancellationToken) |
在發送 HTTP 請求前先記錄日誌。 |
| LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) |
收到 HTTP 回應後的日誌。 (繼承來源 IHttpClientLogger) |
| LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) |
收到 HTTP 回應後的日誌。 |