practicekea_backend/microservices/user/Program.cs

61 lines
1.8 KiB
C#
Raw Permalink Normal View History

2024-12-02 13:24:34 +00:00
using System;
using System.IO;
using System.Reflection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.PlatformAbstractions;
using Serilog;
namespace OnlineAssessment
{
public class Program
{
public static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.File(LogFilePath,
outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message:lj}{NewLine}{Exception}",
rollingInterval: RollingInterval.Day)
.CreateLogger();
try
{
Log.Information("--------------------------APPLICATION STARTED---------------------");
CreateHostBuilder(args)
.Build()
.Run();
Log.Information("--------------------------APPLICATION STOPPED---------------------");
}
catch (Exception ex)
{
Log.Fatal(ex, "Application start-up failed");
}
finally
{
Log.CloseAndFlush();
}
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
static string LogFilePath
{
get
{
var basePath = string.Concat(PlatformServices.Default.Application.ApplicationBasePath, "Logs");
var fileName = typeof(Startup).GetTypeInfo().Assembly.GetName().Name + "-Log-.txt";
return Path.Combine(basePath, fileName);
}
}
}
}