| using AiDevProject.Api.Middleware; |
| using AiDevProject.Core.Configuration; |
| using Serilog; |
|
|
| var builder = WebApplication.CreateBuilder(args); |
|
|
| |
| builder.Configuration.AddEnvironmentVariables(); |
| builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); |
| builder.Configuration.AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json", optional: true); |
|
|
| |
| Log.Logger = new LoggerConfiguration() |
| .ReadFrom.Configuration(builder.Configuration) |
| .CreateLogger(); |
|
|
| builder.Logging.ClearProviders(); |
| builder.Logging.AddSerilog(); |
|
|
| |
| builder.Services.Configure<AppSettings>( |
| builder.Configuration.GetSection("AppSettings")); |
|
|
| |
| builder.Services.AddControllers(); |
| builder.Services.AddEndpointsApiExplorer(); |
|
|
| var app = builder.Build(); |
|
|
| |
| 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(); |
|
|