ecs-dotnet icon indicating copy to clipboard operation
ecs-dotnet copied to clipboard

[FEATURE] Support passing prepared EcsDocument object to the logging API

Open mrapavy opened this issue 1 year ago • 0 comments

ECS integration/library project: Elastic.CommonSchema.Serilog

Is your feature request related to a problem? Please describe. The current implementation of Elastic.CommonSchema.Serilog only supports generating EcsDocument objects on the fly from a message template. That however means that every property I want modified in the output EcsDocument object needs to be present in the message template. While this works great for simple EcsDocument objects, it doesn't scale well when I need to:

  • modify a lot properties in the generated EcsDocument object
  • include non-ECS properties that I want to have outside the $.metadata dictionary

Describe the solution you'd like In addition to accepting MEL message template with known template properties to manipulate the generated EcsDocument (as shown here), I would like to be able to pass prepared EcsDocument object to the logging API and have Elastic.CommonSchema.Serilog library serialize it as JSON into Serilog.

Optionally (when configured so), I would also like Elastic.CommonSchema.Serilog to enrich the prepared EcsDocument object with contextual data like:

mrapavy avatar Dec 14 '23 23:12 mrapavy