Search code examples
serilog

How to configure Serilog's ContainsKey-Filter in a external JSON config file?


How can I configure the filter lc.Filter.ByIncludingOnly(lc => lc.Properties.ContainsKey("log_gp") in a external applicationsettings.json file? I tried

  "Filter": [
    {
      "Name": "ByIncludingOnly",
      "Args": {
        "expression": "Contains(Properties, 'log_gp')"
      }
    }
  ]

but no success. Thanks


Solution

  • dotnet add package serilog.expressions
    

    then:

      "Using": ["Serilog.Expressions"],
      "Filter": [
        {
          "Name": "ByIncludingOnly",
          "Args": {
            "expression": "IsDefined(log_gp)"
          }
        }
      ]