如何解决如何使用依赖注入使 Log4Net 与 ASP.NET Core 3.1 一起工作?
我正在尝试在 ASP.NET Core 3.1 应用程序中使用 log4Net,并且我正在尝试使用控制器使其与依赖注入一起工作。我可以使用 LogManager.GetLogger(type)
成功地使用 Log4Net。任何帮助将不胜感激。
这是我现在用于记录的代码示例:
public class HomeController : Controller
{
private static readonly log4net.ILog _log = LogManager.GetLogger(typeof(Logger));
public HomeController()
{
_log.Debug("Test");
}
}
解决方法
您想要注入控制器的任何服务都必须在 Startup.ConfigureServices(IServiceCollection)
(Startup.cs) 或 Program.CreateHostBuilder(string [])
(Program.cs) 中注册,通常在 CreateDefaultBuilder
和 {{1 }}。
您可以使用以下方式注册服务:
ConfigurWebHostDefaults
然后,您可以使用 public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder => /* ... */)
.ConfigureLogging(builder =>
{ // Configuration here:
builder.SetMinimumLevel(LogLevel.Trace);
builder.AddLog4Net("log4net.config");
});
(其中 Microsoft.Extensions.Logging.ILogger<T>
是正在记录的类)注入,它将使用 Log4Net:
T
有关详细信息,请here is a tutorial。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。