@@ -32,7 +32,7 @@ class RequestLoggingMiddleware
32
32
readonly Func < HttpContext , string , double , int , IEnumerable < LogEventProperty > > _getMessageTemplateProperties ;
33
33
readonly ILogger ? _logger ;
34
34
readonly bool _includeQueryInRequestPath ;
35
- static readonly LogEventProperty [ ] NoProperties = new LogEventProperty [ 0 ] ;
35
+ static readonly LogEventProperty [ ] NoProperties = Array . Empty < LogEventProperty > ( ) ;
36
36
37
37
public RequestLoggingMiddleware ( RequestDelegate next , DiagnosticContext diagnosticContext , RequestLoggingOptions options )
38
38
{
@@ -82,7 +82,6 @@ bool LogCompletion(HttpContext httpContext, DiagnosticContextCollector collector
82
82
83
83
if ( ! logger . IsEnabled ( level ) ) return false ;
84
84
85
- // Enrich diagnostic context
86
85
_enrichDiagnosticContext ? . Invoke ( _diagnosticContext , httpContext ) ;
87
86
88
87
if ( ! collector . TryComplete ( out var collectedProperties , out var collectedException ) )
@@ -91,7 +90,19 @@ bool LogCompletion(HttpContext httpContext, DiagnosticContextCollector collector
91
90
// Last-in (correctly) wins...
92
91
var properties = collectedProperties . Concat ( _getMessageTemplateProperties ( httpContext , GetPath ( httpContext , _includeQueryInRequestPath ) , elapsedMs , statusCode ) ) ;
93
92
94
- var evt = new LogEvent ( DateTimeOffset . Now , level , ex ?? collectedException , _messageTemplate , properties ) ;
93
+ var ( traceId , spanId ) = Activity . Current is { } activity ?
94
+ ( activity . TraceId , activity . SpanId ) :
95
+ ( default ( ActivityTraceId ) , default ( ActivitySpanId ) ) ;
96
+
97
+ var evt = new LogEvent (
98
+ DateTimeOffset . Now ,
99
+ level ,
100
+ ex ?? collectedException ,
101
+ _messageTemplate ,
102
+ properties ,
103
+ traceId ,
104
+ spanId ) ;
105
+
95
106
logger . Write ( evt ) ;
96
107
97
108
return false ;
0 commit comments