繁体   English   中英

如何在 .net 6 中获取 ILoggerFactory

[英]How to get ILoggerFactory in .net 6

In.Net5 ILoggerFactory 在 Startup.cs 中作为 Configure function 使用如下:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
    //here we used loggerFactory
    loggerFactory.AddProvider(loggerprovider);
}

在.Net6中如何用aap或builder获取

var app = builder.Build();

或者

var builder = WebApplication.CreateBuilder(args);

WebApplicationBuilder公开了具有AddProvider(ILoggingBuilder, ILoggerProvider)扩展方法的Logging属性。 尝试使用它:

builder.Logging.AddProvider(loggerprovider);

要获取实际的记录器工厂实例:

var app = builder.Build();
var lf = app.Services.GetRequiredService<ILoggerFactory>();

适用于 .net 6 web api | 程序.cs

using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Log4Net.AspNetCore;

var builder = WebApplication.CreateBuilder(args);

builder.Logging.AddLog4Net();

以上在.net 6中为我工作

  1. 检查日志文件:\bin\Debug\net6.0(详细信息)
  2. 同样在事件查看器 -> Windows 日志 -> 应用程序中(一般例外)

感谢: https ://onloupe.com/blog/does-log4net-work-on-net6/

您可以在 builder.Build() 之后通过 Program.cs class 中的 GetService 方法在 dotnet 6 中获取 ILoggerFactory

var loggerFactory = app.Services.GetService<ILoggerFactory>();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM