asp.net core 3.0 add support Microsoft.Extensions.Logging in log4net

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;
    }
}

  

Guess you like

Origin www.cnblogs.com/chikychan/p/12045176.html