如何从 app.config 文件在 Serilog 中设置 formatProvider 属性

How to set formatProvider property in Serilog from app.config file

我知道可以在 app.config 文件(AppSettings 部分)中设置 Serilog 接收器,并且它对于标量类型非常简单,但是如何使用复杂类型(IFormatProvider 等)。有谁知道如何处理这个问题,这有可能吗?

我正在尝试模拟这个例子

ILogger logger = new LoggerConfiguration()
    .Enrich.WithExceptionDetails()
    .WriteTo.Sink(new RollingFileSink(
        @"C:\logs",
        new JsonFormatter(renderMessage: true))
    .CreateLogger();

但仅使用 app.config。

您可以为此使用 JsonRollingFile 之类的东西。

<configuration>
  <appSettings>
    <add key="serilog:using:Json" value="Serilog.Sinks.Json" />
    <add key="serilog:write-to:JsonRollingFile.pathFormat" value="C:\Logs\myapp-{Date}.jsnl" />
  </appSettings>
</configuration>