using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using NLog.Extensions.Logging; using Serilog; namespace AntiAircraftGun { internal static class Program { [STAThread] static void Main() { // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); ServiceCollection services = new(); ConfigureServices(services); using ServiceProvider serviceProvider = services.BuildServiceProvider(); Application.Run(serviceProvider.GetRequiredService()); } /// /// Конфигурация сервиса DI /// /// private static void ConfigureServices(ServiceCollection services) { services .AddSingleton() .AddLogging(option => { option.SetMinimumLevel(LogLevel.Information); var config = new ConfigurationBuilder() .AddJsonFile("serilogConfig.json", optional: false, reloadOnChange: true) .Build(); option.AddSerilog(Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(config) .CreateLogger()); }); } } }