有没有办法通过配置属性来丰富日志?

Pau*_*ado 2 configuration serilog

我知道我可以通过这种方式添加丰富器:

{
  "Serilog": {
    "Using": [
      "Serilog",
      "Serilog.Enrichers.Environment",
      "Serilog.Enrichers.Process",
      ...
    ],
    "Enrich": [
      "FromLogContext",
      "WithMachineName",
      "WithProcessId"
    ]
...
Run Code Online (Sandbox Code Playgroud)

我可以对房产 ( ApplicationName) 做同样的事情吗?

Pau*_*ado 7

实现此目的的一种方法是使用属性。但丰富属性的配置有一个警告,它是顶级配置而不是丰富配置:

{
  "Serilog": {
    "Using": [
      "Serilog",
      "Serilog.Enrichers.Environment",
      "Serilog.Enrichers.Process",
      ...
    ],
    "Properties": {
      "ApplicationName": "my application"
    },
    "Enrich": [
      "FromLogContext",
      "WithMachineName",
      "WithProcessId"
    ]
...
Run Code Online (Sandbox Code Playgroud)

这将导致配置读取器调用如下内容:

loggerConfiguration.Enrich.WithProperty("ApplicationName", "my application");
Run Code Online (Sandbox Code Playgroud)