Added base NLog configuration

This commit is contained in:
2024-04-07 17:50:11 +02:00
parent 61f0dab8df
commit 716d75a072
3 changed files with 22 additions and 1 deletions

View File

@@ -1,15 +1,22 @@
using System;
using Microsoft.OpenApi.Models;
using NLog;
using BasicDotnetTemplate.MainProject.Models.Settings;
using BasicDotnetTemplate.MainProject.Utils;
namespace BasicDotnetTemplate.MainProject;
internal static class Program
{
private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
public static void Main(string[] args)
{
Logger.Info("[Program][Main] Start building");
var builder = WebApplication.CreateBuilder(args);
Logger.Info("[Program][Main] Creating configuration");
var _configuration = new ConfigurationBuilder()
.SetBasePath(System.AppDomain.CurrentDomain.BaseDirectory)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
@@ -23,9 +30,14 @@ internal static class Program
PrivateSettings privateSettings = new PrivateSettings();
_configuration.GetSection("PrivateSettings").Bind(privateSettings);
Logger.Info("[Program][Main] Building settings");
builder.Services.Configure<AppSettings>(_configuration.GetSection("AppSettings"));
builder.Services.Configure<PrivateSettings>(_configuration.GetSection("PrivateSettings"));
Logger.Info("[Program][Main] Adding services");
builder.Services.AddAuthentication();
builder.Services.AddAuthorization();
@@ -37,6 +49,8 @@ internal static class Program
appSettings.PrivateSettings = privateSettings;
_configuration.GetSection("AppSettings").Bind(appSettings);
Logger.Info("[Program][Main] Initializing swagger doc");
OpenApiInfo openApiInfo = new()
{
Version = appSettings.Settings?.Version,
@@ -99,7 +113,13 @@ internal static class Program
});
}
Logger.Info("[Program][Main] Launching app");
app.Run();
Logger.Info("[Program][Main] Shutting down logger");
NLog.LogManager.Shutdown(); // Flush and close down internal threads and timers
}
}