#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?