|
|
|
|
namespace HttpClientStudy.Core.CustomHttpClient
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 自定义日志
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class CustomLogger : IHttpClientLogger
|
|
|
|
|
{
|
|
|
|
|
public object? LogRequestStart(HttpRequestMessage request)
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void LogRequestStop(object? ctx, HttpRequestMessage request, HttpResponseMessage response, TimeSpan elapsed)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"自定义日志:{request.Method} {request.RequestUri?.AbsoluteUri} - {(int)response.StatusCode} {response.StatusCode} in {elapsed.TotalMilliseconds}ms");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void LogRequestFailed(object? ctx, HttpRequestMessage request, HttpResponseMessage? response, Exception e, TimeSpan elapsed)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine($"自定义日志:{request.Method} {request.RequestUri?.AbsoluteUri} - Exception {e.GetType().FullName}: {e.Message}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|