@@ -57,6 +57,7 @@ ILoggerFactory loggerFactory
57
57
public async Task < FluentHttpResponse > Invoke ( FluentHttpMiddlewareContext context )
58
58
{
59
59
var request = context . Request ;
60
+
60
61
if ( ! _logger . IsEnabled ( LogLevel . Information ) )
61
62
return await _next ( context ) ;
62
63
@@ -68,30 +69,56 @@ public async Task<FluentHttpResponse> Invoke(FluentHttpMiddlewareContext context
68
69
&& ! options . ShouldLogDetailedResponse . GetValueOrDefault ( false ) )
69
70
{
70
71
response = await _next ( context ) ;
71
- _logger . LoggerHttp_CondensedRequest ( request . Method , request . Uri ! , response . StatusCode , watch . GetElapsedTime ( ) . TotalMilliseconds ) ;
72
+ _logger . LoggerHttp_CondensedRequest (
73
+ request . Message . Version ,
74
+ request . Method ,
75
+ request . Uri ! ,
76
+ response . StatusCode ,
77
+ watch . GetElapsedTime ( ) . TotalMilliseconds
78
+ ) ;
72
79
return response ;
73
80
}
74
81
75
82
if ( ! ( options . ShouldLogDetailedRequest ?? false ) )
76
- _logger . LoggerHttp_Request ( request ) ;
83
+ _logger . LoggerHttp_Request ( request . Message . Version , request . Method , request . Uri ! ) ;
77
84
else
78
85
{
79
86
string ? requestContent = null ;
80
87
if ( request . Message . Content != null )
81
88
requestContent = await request . Message . Content . ReadAsStringAsync ( ) ;
82
- _logger . LoggerHttp_RequestDetailed ( request , request . Headers . ToFormattedString ( ) , requestContent ) ;
89
+ _logger . LoggerHttp_RequestDetailed (
90
+ request . Message . Version ,
91
+ request . Method ,
92
+ request . Uri ! ,
93
+ request . Headers . ToFormattedString ( ) ,
94
+ requestContent
95
+ ) ;
83
96
}
84
97
85
98
response = await _next ( context ) ;
86
99
var stopwatchElapsed = watch . GetElapsedTime ( ) ;
87
100
if ( response . Content == null || ! ( options . ShouldLogDetailedResponse ?? false ) )
88
101
{
89
- _logger . LoggerHttp_Response ( response , stopwatchElapsed . TotalMilliseconds ) ;
102
+ _logger . LoggerHttp_Response (
103
+ response . Message . Version ,
104
+ request . Method ,
105
+ request . Uri ! ,
106
+ response . StatusCode ,
107
+ stopwatchElapsed . TotalMilliseconds
108
+ ) ;
90
109
return response ;
91
110
}
92
111
93
112
var responseContent = await response . Content . ReadAsStringAsync ( ) ;
94
- _logger . LoggerHttp_ResponseDetailed ( response , response . Headers . ToFormattedString ( ) , responseContent , stopwatchElapsed . TotalMilliseconds ) ;
113
+ _logger . LoggerHttp_ResponseDetailed (
114
+ response . Message . Version ,
115
+ request . Method ,
116
+ request . Uri ! ,
117
+ response . StatusCode ,
118
+ response . Headers . ToFormattedString ( ) ,
119
+ responseContent ,
120
+ stopwatchElapsed . TotalMilliseconds
121
+ ) ;
95
122
return response ;
96
123
}
97
124
}
@@ -166,18 +193,49 @@ public static FluentHttpClientBuilder UseLogging(this FluentHttpClientBuilder bu
166
193
167
194
internal static partial class LogExtensions
168
195
{
169
- [ LoggerMessage ( LogLevel . Information , "HTTP request [{method}] {requestUrl} responded {statusCode:D} in {elapsed:n0}ms" ) ]
170
- internal static partial void LoggerHttp_CondensedRequest ( this ILogger logger , HttpMethod method , Uri requestUrl , HttpStatusCode statusCode , double elapsed ) ;
171
-
172
- [ LoggerMessage ( LogLevel . Information , "Pre - request... {request}" ) ]
173
- internal static partial void LoggerHttp_Request ( this ILogger logger , FluentHttpRequest request ) ;
174
-
175
- [ LoggerMessage ( LogLevel . Information , "Pre-request... {request}\n Headers: {headers}\n Content: {requestContent}" ) ]
176
- internal static partial void LoggerHttp_RequestDetailed ( this ILogger logger , FluentHttpRequest request , string headers , string ? requestContent ) ;
177
-
178
- [ LoggerMessage ( LogLevel . Information , "Post-request... {response} in {elapsed:n0}ms" ) ]
179
- internal static partial void LoggerHttp_Response ( this ILogger logger , FluentHttpResponse response , double elapsed ) ;
180
-
181
- [ LoggerMessage ( LogLevel . Information , "Post-request... {response}\n Headers: {headers}\n Content: {responseContent} in {elapsed:n0}ms" ) ]
182
- internal static partial void LoggerHttp_ResponseDetailed ( this ILogger logger , FluentHttpResponse response , string headers , string ? responseContent , double elapsed ) ;
196
+ [ LoggerMessage ( LogLevel . Information , "HTTP request ({httpVersion}) [{method}] '{requestUrl}' responded {statusCode:D} in {elapsed:n0}ms" ) ]
197
+ internal static partial void LoggerHttp_CondensedRequest (
198
+ this ILogger logger ,
199
+ Version httpVersion ,
200
+ HttpMethod method ,
201
+ Uri requestUrl ,
202
+ HttpStatusCode statusCode ,
203
+ double elapsed
204
+ ) ;
205
+
206
+ [ LoggerMessage ( LogLevel . Information , "Pre - request... ({httpVersion}) [{method}] '{requestUrl}'" ) ]
207
+ internal static partial void LoggerHttp_Request ( this ILogger logger , Version httpVersion , HttpMethod method , Uri requestUrl ) ;
208
+
209
+ [ LoggerMessage ( LogLevel . Information , "Pre-request... ({httpVersion}) [{method}] '{requestUrl}' \n Headers: {headers}\n Content: {requestContent}" ) ]
210
+ internal static partial void LoggerHttp_RequestDetailed (
211
+ this ILogger logger ,
212
+ Version httpVersion ,
213
+ HttpMethod method ,
214
+ Uri requestUrl ,
215
+ string headers ,
216
+ string ? requestContent
217
+ ) ;
218
+
219
+ [ LoggerMessage ( LogLevel . Information , "Post-request... ({httpVersion}) [{method}] '{requestUrl}' responded {statusCode:D} in {elapsed:n0}ms" ) ]
220
+ internal static partial void LoggerHttp_Response (
221
+ this ILogger logger ,
222
+ Version httpVersion ,
223
+ HttpMethod method ,
224
+ Uri requestUrl ,
225
+ HttpStatusCode statusCode ,
226
+ double elapsed
227
+ ) ;
228
+
229
+ [ LoggerMessage ( LogLevel . Information , "Post-request... ({httpVersion}) [{method}] '{requestUrl}' responded {statusCode:D} " +
230
+ "\n Headers: {headers}\n Content: {responseContent} in {elapsed:n0}ms" ) ]
231
+ internal static partial void LoggerHttp_ResponseDetailed (
232
+ this ILogger logger ,
233
+ Version httpVersion ,
234
+ HttpMethod method ,
235
+ Uri requestUrl ,
236
+ HttpStatusCode statusCode ,
237
+ string headers ,
238
+ string ? responseContent ,
239
+ double elapsed
240
+ ) ;
183
241
}
0 commit comments