Files
parr_api/PARR.API/Program.cs
Mikhail Trubnikov 00f5d9102a api log to elastic
2023-09-27 11:31:46 +10:00

52 lines
1.4 KiB
C#

using Elastic.CommonSchema.Serilog;
using FluentValidation;
using PARR.API.Installers;
using PARR.BLL;
using PARR.DAL;
using Serilog;
using System.Reflection;
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseSerilog((context, config) =>
{
if (context.HostingEnvironment.IsProduction())
config.WriteTo.Console(new EcsTextFormatter());
else
config.WriteTo.Console();
config.ReadFrom.Configuration(builder.Configuration);
});
// Add services to the container.
builder.Services.InstallDalServices(builder.Configuration);
builder.Services.InstallBllServices(builder.Configuration);
builder.Services.InstallApiServices(builder.Configuration);
builder.Services.InstallSettings(builder.Configuration);
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
// Dal configuration
builder.Configuration.AddDalConfigurations(builder.Services);
builder.Services.AddDallSettings(builder.Configuration);
builder.Services.AddHttpContextAccessor();
builder.Services.AddControllers();
builder.Services.AddValidatorsFromAssembly(Assembly.GetExecutingAssembly());
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.InstallSwaggerService(builder.Configuration);
var app = builder.Build();
// Configure the HTTP request pipeline.
app.InstallSwagger();
app.UseAuthorization();
app.MapControllers();
app.Run();