tuitio/src/Tuitio/Program.cs

51 lines
1.5 KiB
C#

// Copyright (c) 2020 Tudor Stanciu
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Serilog;
using System;
using Tuitio.Extensions;
namespace Tuitio.Api
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseSerilog((_, loggerConfiguration) =>
{
loggerConfiguration
.ReadFrom.Configuration(builder.Configuration)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.ConfiguredDestinations(builder.Configuration);
});
builder.Services.ConfigureServices(builder.Configuration);
var app = builder.Build();
app.Configure();
try
{
var urls = builder.Configuration.GetValue<string>("Urls");
Log.Information("Starting Tuitio API...");
Log.Information($"API listening on {urls}");
Console.WriteLine("Application started. Press Ctrl+C to shut down.");
app.Run();
}
catch (Exception ex)
{
Log.Fatal(ex, "Tuitio API host terminated unexpectedly");
}
finally
{
Log.CloseAndFlush();
}
}
}
}