using System.Windows; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Serilog; namespace Azaion.LoaderUI; public partial class App { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); Start(); } private void Start() { Log.Logger = new LoggerConfiguration() .Enrich.FromLogContext() .MinimumLevel.Information() .WriteTo.Console() .WriteTo.File( path: "Logs/log.txt", rollingInterval: RollingInterval.Day) .CreateLogger(); var host = Host.CreateDefaultBuilder() .ConfigureAppConfiguration((_, config) => config .AddCommandLine(Environment.GetCommandLineArgs()) .AddJsonFile(Constants.CONFIG_JSON_FILE, optional: true)) .UseSerilog() .ConfigureServices((context, services) => { services.AddSingleton(); services.Configure(context.Configuration.GetSection(nameof(DirectoriesConfig))); services.AddHttpClient((sp, client) => { client.BaseAddress = new Uri(Constants.API_URL); client.DefaultRequestHeaders.Add("Accept", "application/json"); client.DefaultRequestHeaders.Add("User-Agent", "Azaion.LoaderUI"); }); }) .Build(); host.Start(); host.Services.GetRequiredService().Show(); } }