It uses the local db that comes with visual studio. When you run it, call posts/5 via swagger and it logs the request in the database.
The Method, Path and StatusCode columns will all be null, even though they are supplied as a property. The properties are populated by the Microsoft.Extensions.Http.Diagnostics nuget package and AddExtendedHttpClientLogging call in program.
This is a LogEvent from that call
{
"Timestamp":"2024-06-11T15:40:36.8575483",
"Level":"Information",
"Message":"GET jsonplaceholder.typicode.com//posts/5",
"Properties":{
"LatencyInfo":",",
"http.request.method":"GET",
"server.address":"jsonplaceholder.typicode.com",
"url.path":"/posts/5",
"Duration":519,
"http.response.status_code":200,
"RequestBody":"",
"ResponseBody":"{\n \"userId\": 1,\n \"id\": 5,\n \"title\": \"nesciunt quas odio\",\n \"body\": \"repudiandae veniam quaerat sunt sed\\nalias aut fugiat sit autem sed est\\nvoluptatem omnis possimus esse voluptatibus quis\\nest aut tenetur dolor neque\"\n}",
"LoggerMessageState":"GET jsonplaceholder.typicode.com//posts/5",
"EventId":{
"Id":1,
"Name":"OutgoingRequest"
},
"SourceContext":"Microsoft.Extensions.Http.Logging.HttpClientLogger",
"RequestId":"0HN4A4HNQNRGV:00000001",
"RequestPath":"/posts/5",
"ConnectionId":"0HN4A4HNQNRGV",
"MachineName":"DESKTOP-KAHG7M1"
},
"Renderings":{
"LoggerMessageState":[
{
"Format":"l",
"Rendering":"GET jsonplaceholder.typicode.com//posts/5"
}
]
}
}
The http.request.method value does not populate the Method column - same with url.path and http.response.status_code. However, other properties such as RequestBody and ResponseBody which also come from the Microsoft.Extensions.Http.Diagnostics nuget package are populated ok.
custom columns where the property name contains a dot, but isn't hierarchical doesn't seem to get populated.
Even though it contains a dot, it should be able to match on the property name.
.NET 8 Windows 11
https://github.com/tjackadams/serilog-mssql-dot-property-name-repro
It uses the local db that comes with visual studio. When you run it, call
posts/5
via swagger and it logs the request in the database. The Method, Path and StatusCode columns will all be null, even though they are supplied as a property. The properties are populated by theMicrosoft.Extensions.Http.Diagnostics
nuget package andAddExtendedHttpClientLogging
call in program.This is a LogEvent from that call
The
http.request.method
value does not populate theMethod
column - same withurl.path
andhttp.response.status_code
. However, other properties such asRequestBody
andResponseBody
which also come from theMicrosoft.Extensions.Http.Diagnostics
nuget package are populated ok.