DigitalData.Gateway/Program.cs

46 lines
1.1 KiB
C#

using NLog;
using NLog.Web;
using Ocelot.DependencyInjection;
using Ocelot.Middleware;
var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
logger.Info("Logging initialized.");
try
{
var builder = WebApplication.CreateBuilder(args);
builder.Logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
if (!builder.Environment.IsDevelopment())
{
builder.Logging.ClearProviders();
builder.Host.UseNLog();
}
// Make sure to add the Ocelot configuration file
var suffix = builder.Environment.IsDevelopment() ? ".Development" : "";
builder.Configuration.AddJsonFile($"ocelot{suffix}.json");
// Add Ocelot services
builder.Services.AddOcelot();
var app = builder.Build();
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
// Use Ocelot middleware in an appropriate way
app.MapControllers();
app.UseOcelot().Wait();
app.Run();
}
catch(Exception ex)
{
logger.Error(ex, "Stopped program because of exception.");
throw;
}