1. introduced log4net, Microsoft.Extensions.Logging.Log4Net.AspNetCore package
2. Add log4net configuration file
3. Add the following code in Program:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging((context, logger) =>
{
logger.ClearProviders();
logger.AddLog4Net (new Log4NetProviderOptions ()
{
Log4NetConfigFileName = "Config/log4net.xml",
Watch = true
});
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
4. By introducing the constructor needs log class:
public class ActionExceptionHandlerAttribute : Attribute, IActionFilter { private readonly ILogger<ActionExceptionHandlerAttribute> _logger; public ActionExceptionHandlerAttribute(ILogger<ActionExceptionHandlerAttribute> logger) { _logger = log; } }