46 lines
1.1 KiB
C#
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;
|
|
} |