![](/img/trans.png)
[英]How can I create a CloudTableClient in .NET Core 2.2 app?
[英]How can I create configure extension for ILoggingBuilder in ASP .Net Core 2.2?
我使用Asp .NET Core 2.2,並且需要登錄文件。 並嘗試使用ILoggerFactory:
loggerFactory.AddProvider(new MyOwnFileLogProvider());
但:
loggerFactory.AddConsole();//This method is obsolete and will be removed in a future version.
好吧,拒絕所有工廠並使用:
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseConfiguration(config)
.UseKestrel()
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
});
如何為ILoggingBuilder創建配置擴展以進行文件記錄?
logging.AddFile();
不推薦使用logger工廠方法,而希望使用新的日志記錄構建器,該構建器完全簡化了依賴項注入容器。 為您自己的記錄器提供程序創建記錄器構建器擴展並不難。
您基本上只需ILoggerProvider
服務集合添加一個ILoggerProvider
:
public static ILoggingBuilder AddConsole(this ILoggingBuilder builder)
{
builder.Services.AddSingleton<ILoggerProvider, CustomLoggerProvider>();
return builder;
}
除了通過依賴注入來解析提供程序之外,您還可以直接注冊實例。 也有一個內置擴展方法AddProvider
可以做到這一點。 因此,您也可以使用它:
public static ILoggingBuilder AddConsole(this ILoggingBuilder builder)
{
builder.AddProvider(new CustomLoggerProvider>());
return builder;
}
這應該使用法與使用ILoggerFactory
的用法非常相似 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.