using Elastic.CommonSchema.Serilog; using PARR.Core; using PARR.DAL; using PARR.DAL.Services.Interfaces.Job; using PARR.Infrastructure; using PARR.WorkloadBuilderWorker; using PARR.WorkloadBuilderWorker.Settings; using Serilog; var builder = Host.CreateApplicationBuilder(); builder.Services.AddLogging(config => { config.ClearProviders(); var logger = new LoggerConfiguration(); if (builder.Environment.IsProduction()) logger.WriteTo.Console(new EcsTextFormatter()); else logger.WriteTo.Console(); logger.ReadFrom.Configuration(builder.Configuration); config.AddSerilog(logger.CreateLogger()); }); #region PARR modules builder.Services.InstallDalServices(builder.Configuration); builder.Services.AddCoreServices(builder.Configuration); builder.Services.AddInfrastructureServices(builder.Configuration); builder.Configuration.AddDalConfigurations(builder.Services); builder.Services.AddDallSettings(builder.Configuration); #endregion var workerSettings = new WorkerSettings(); builder.Configuration.GetSection(nameof(WorkerSettings)).Bind(workerSettings); builder.Services.AddSingleton(workerSettings); builder.Services.AddHostedService(); var host = builder.Build(); host.Run();