in src/Elastic.Extensions.Logging.Common/LogEventBuilderExtensions.cs [60:108]
private static bool AssignKnownHttpKeys(LogEvent logEvent, string key, object value)
{
switch (key)
{
case "RequestId" when value is string requestId:
logEvent.Http ??= new Http();
logEvent.Http.RequestId = requestId;
return true;
case "RequestPath" when value is string path:
logEvent.Url ??= new Url();
logEvent.Url.Path = path;
return true;
// ReSharper disable once UnusedVariable
case "Protocol" when value is string protocol:
// TODO protocol
//logEvent.Http ??= new Http();
//logEvent.Http. = requestId;
return true;
case "Method" when value is string method:
logEvent.Http ??= new Http();
logEvent.Http.RequestMethod = method;
return true;
case "ContentType" when value is string contentType:
logEvent.Http ??= new Http();
logEvent.Http.RequestMimeType = contentType;
return true;
case "ContentLength" when value is string contentLength:
logEvent.Http ??= new Http();
logEvent.Http.RequestBytes = long.TryParse(contentLength, out var l) ? l : (long?)null;
return true;
case "Scheme" when value is string scheme:
logEvent.Url ??= new Url();
logEvent.Url.Scheme = scheme;
return true;
case "Host" when value is string host:
logEvent.Url ??= new Url();
logEvent.Url.Domain = host;
return true;
case "Path":
case "PathBase":
//covered by 'RequestPath'
return true;
case "QueryString" when value is string qs:
logEvent.Url ??= new Url();
logEvent.Url.Query = qs;
return true;
default: return false;
}
}