For .net core 7/.net7, I have prepared static logger class which has a initialization method to initialize an instance of static ILogger object from ILoggerFactory
public static class LogHelperService{ private static ILoggerFactory _loggerFactory; private static ILogger _logger; private static IHttpContextAccessor _httpContextAccessor; public static void Initialize(ILoggerFactory loggerFactory,IHttpContextAccessor httpContextAccessor) { _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger("LogHelperService"); _httpContextAccessor = httpContextAccessor; } public static void LogError( Exception exception, string message, params object[] args) { _logger.Log(LogLevel.Error, exception, message, args); } public static void LogError( string message, params object[] args) { _logger.Log(LogLevel.Error, message, args); } public static void LogInformation(string message, params object[] args) { _logger.Log(LogLevel.Information, message, args); } public static void LogInformation(Exception exception, string message, params object[] args) { _logger.Log(LogLevel.Information, exception, message, args); } }
Then In Program.js, After the app object created from WebApplicationBuilder, I have called the Initialization function to create the static Logger
var app = builder.Build(); //initialize Static service with server resources LogHelperService.Initialize( app.Services.GetService<ILoggerFactory>() ,app.Services.GetService<IHttpContextAccessor>());