File size: 1,198 Bytes
7144529 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 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<AppSettings>(
builder.Configuration.GetSection("AppSettings"));
// Services
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
var app = builder.Build();
// Middleware pipeline
app.UseMiddleware<ErrorHandlingMiddleware>();
app.MapControllers();
var settings = app.Services.GetRequiredService<IConfiguration>();
var appName = settings.GetValue<string>("AppSettings:AppName") ?? "MyApp";
var port = settings.GetValue<int>("AppSettings:Port");
Log.Information("Starting {AppName} on port {Port}", appName, port);
app.Run();
|