using AiDevProject.Api.Middleware; using AiDevProject.Core.Configuration; using Serilog; var builder = WebApplication.CreateBuilder(args); // Configuration builder.Configuration.AddEnvironmentVariables(); builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); builder.Configuration.AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json", optional: true); // Logging Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(builder.Configuration) .CreateLogger(); builder.Logging.ClearProviders(); builder.Logging.AddSerilog(); // Settings builder.Services.Configure( builder.Configuration.GetSection("AppSettings")); // Services builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); var app = builder.Build(); // Middleware pipeline app.UseMiddleware(); app.MapControllers(); var settings = app.Services.GetRequiredService(); var appName = settings.GetValue("AppSettings:AppName") ?? "MyApp"; var port = settings.GetValue("AppSettings:Port"); Log.Information("Starting {AppName} on port {Port}", appName, port); app.Run();