Я пытаюсь настроить Serilog.Sinks.TextWriter через Serilog.Settings.AppSettings
Я все заработал, учитывая тривиальные примеры обоих описаний github.У меня все работает нормально с консольной раковиной.Тем не менее, мне нужно настроить TextWriter для использования стандартного выхода.По какой-то причине использование Console не подходит для стандартной платформы на моей платформе (Mono в Linux), TextWriter с использованием Console.Out, с другой стороны.
Работает следующий программный подход:
Logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
.MinimumLevel.
.Enrich.WithThreadId()
.Enrich.FromLogContext()
.WriteTo.TextWriter(Console.Out, outputTemplate: "[{ThreadId} {Level:u3} {SourceContext}] {Message:lj}{NewLine}{Exception}")
.CreateLogger();
Однако следующий фрагмент appconfig приводит к тому, что ничего не регистрируется вообще
<appSettings>
<add key="serilog:minimum-level" value="Verbose" />
<add key="serilog:enrich:FromLogContext" />
<add key="serilog:using:Thread" value="Serilog.Enrichers.Thread" />
<add key="serilog:enrich:WithThreadId" />
<add key="serilog:using:TextWriter" value="Serilog.Sinks.TextWriter" />
<add key="serilog:using:Console.Out" value="System" />
<add key="serilog:write-to:TextWriter" />
<add key="serilog:write-to:TextWriter.textWriter" value="Console.Out" />
<add key="serilog:write-to:TextWriter.outputTemplate" value="[{ThreadId} {Level:u3} {SourceContext}] {Message:lj}{NewLine}{Exception}" />
</appSettings>
У меня такое ощущение, что это попытка использовать Console.Out в качестве аргумента, который запутывает вещи.
Любые предложения о том, как настроить это с помощью appconfig?