使用Serilog XML配置指定自定义浓缩器

时间:2018-01-22 14:51:41

标签: c# xml app-config serilog

有许多使用应用程序设置配置配置接收器及其属性的示例。但是,我无法通过应用程序设置真正地围绕配置自定义浓缩器。可以这样做吗?我试图使用我的类和程序集名称的完整路径来指定配置,但它似乎不起作用。以下是我尝试使用的配置示例:

<add key="serilog:enrich:with" value="MyApp.Logging.Serilog.MyEnricher, MyApp" />

1 个答案:

答案 0 :(得分:1)

键值对语法当前需要为此情况定义的扩展方法才能工作,例如:

static class MyLoggerEnrichmentConfigurationExtensions
{
    public static LoggerConfiguration WithMyEnricher(this LoggerEnrichmentConfiguration enrich)
    {
        return enrich.With(new MyEnricher());
    }
}

然后引用并调用如下:

<add key="serilog:using:MyApp" value="MyApp" />
<add key="serilog:enrich:WithMyEnricher" />