@@ -32,7 +32,7 @@ class RequestLoggingMiddleware
3232 readonly Func < HttpContext , string , double , int , IEnumerable < LogEventProperty > > _getMessageTemplateProperties ;
3333 readonly ILogger ? _logger ;
3434 readonly bool _includeQueryInRequestPath ;
35- static readonly LogEventProperty [ ] NoProperties = new LogEventProperty [ 0 ] ;
35+ static readonly LogEventProperty [ ] NoProperties = Array . Empty < LogEventProperty > ( ) ;
3636
3737 public RequestLoggingMiddleware ( RequestDelegate next , DiagnosticContext diagnosticContext , RequestLoggingOptions options )
3838 {
@@ -82,7 +82,6 @@ bool LogCompletion(HttpContext httpContext, DiagnosticContextCollector collector
8282
8383 if ( ! logger . IsEnabled ( level ) ) return false ;
8484
85- // Enrich diagnostic context
8685 _enrichDiagnosticContext ? . Invoke ( _diagnosticContext , httpContext ) ;
8786
8887 if ( ! collector . TryComplete ( out var collectedProperties , out var collectedException ) )
@@ -91,7 +90,19 @@ bool LogCompletion(HttpContext httpContext, DiagnosticContextCollector collector
9190 // Last-in (correctly) wins...
9291 var properties = collectedProperties . Concat ( _getMessageTemplateProperties ( httpContext , GetPath ( httpContext , _includeQueryInRequestPath ) , elapsedMs , statusCode ) ) ;
9392
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+
95106 logger . Write ( evt ) ;
96107
97108 return false ;
0 commit comments