Как я могу добавить приемники ведения журнала в регистратор Serilog после первоначальной настройки?

#c# #wpf #serilog

Вопрос:

Я знаком с построением ASP.NET Основное приложение, в котором я могу использовать загрузочный регистратор для запуска минимального регистратора до того, как я выполню настройку в своем приложении…

Тем не менее, сейчас я работаю над приложением .NET Core WPF и .Метод CreateBootstrapLogger() недоступен за пределами ASP.NET Ядро (насколько я могу судить)… Как правильно создать загрузочный регистратор, который я позже смогу заменить другим регистратором после завершения начальной настройки в своем приложении?

Чтобы добавить код, я обычно делаю это в ASP.NET Сердечник:

 //first add the bootstrap logger
Log.Logger = new LoggerConfiguration()
                    .Enrich.FromLogContext()
                    .WriteTo.Console()
                    .CreateBootstrapLogger();

//perform some additional setup/configuration
//...

//now, after setup, add the final logger
Log.Logger = new LoggerConfiguration()
                        .Enrich.FromLogContext()
                        .Enrich.WithProperty("Source", Environment.MachineName)
                        .Enrich.WithProperty("Username", Environment.UserName)
                        .Enrich.WithProperty("AssemblyVersion", assembly?.Version)
                        .WriteTo.MongoDBCapped(
                            mongoDbLogConnectionSettings.ConnectionString,
                            LogEventLevel.Warning, //only log errors in production
                            collectionName: $"{mongoDbLogConnectionSettings.CollectionName}_{assembly?.Name}"
                        )
                        .CreateLogger();
 

Но опять же, это работает только с ASP.NET Ядро. Как правильно поступить с чем-то подобным?ЧИСТЫЙ WPF?