Far*_*med 15 c# iloggerfactory .net-6.0
In.Net5 ILoggerFactory用作配置函数,Startup.cs如下所示:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
//here we used loggerFactory
loggerFactory.AddProvider(loggerprovider);
}
Run Code Online (Sandbox Code Playgroud)
如何.Net6通过应用程序或构建器获取它
var app = builder.Build();
Run Code Online (Sandbox Code Playgroud)
或者
var builder = WebApplication.CreateBuilder(args);
Run Code Online (Sandbox Code Playgroud)
Joh*_*udy 10
要获取实际的记录器工厂实例:
var app = builder.Build();
var lf = app.Services.GetRequiredService<ILoggerFactory>();
Run Code Online (Sandbox Code Playgroud)
还可以使用 GetService 而不是 GetRequiredService。当服务不存在时,GetService 返回 null,并且 GetRequiredService 抛出异常。这里讨论的优点和缺点:
https://andrewlock.net/the-difference- Between-getservice-and-getrquiredservice-in-asp-net-core/
WebApplicationBuilder公开Logging具有可用扩展方法的属性AddProvider(ILoggingBuilder, ILoggerProvider)。尝试使用它:
builder.Logging.AddProvider(loggerprovider);
Run Code Online (Sandbox Code Playgroud)