在Serilog中设置MinimumLevel:是否可以对名称空间使用通配符/正则表达式?

问题描述

在Serilog中设置MinimumLevel:是否可以在名称空间中使用通配符/正则表达式?

让我们假设我拥有自己的命名空间,并使用不同的大小写,并且都需要在information上进行登录

  • MyNameSpace
  • MYNameSpace

这可以通过这样的配置完成吗?

"SeriLog": {
    "MinimumLevel": {
      "Default": "information","Override": {
        "Default": "Warning","MyNameSpace|MYNameSpace": "information"
      }
    }
  }

还是只能同时指定两者?

"SeriLog": {
    "MinimumLevel": {
      "Default": "information","MyNameSpace": "information","MYNameSpace": "information"
      }
    }
  }

解决方法

撰写本文时,最低级别覆盖功能不支持通配符/正则表达式。它仅支持简单(区分大小写)部分匹配。 You can see how it works in the source code

声明第二个示例是两个不同的名称空间是一种方法。