我已经将项目从.net core 2.1更新到2.2,然后logging.AddAzureWebAppDiagnostics()
中的Program.cs
不再起作用。
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddAzureWebAppDiagnostics();
})
.UseStartup<Startup>()
.Build();
}
'ILoggingBuilder'不包含'AddAzureWebAppDiagnostics'的定义,找不到可以接受的扩展方法'AddAzureWebAppDiagnostics'接受类型为'ILoggingBuilder'的第一个参数(您是否缺少using指令或程序集引用?
如果定位.NET Framework或引用Microsoft.AspNetCore.App元包,则将提供程序包添加到项目中。在ILoggerFactory实例上调用AddAzureWebAppDiagnostics:
因此,方法可能与前一种方法略有不同。如何解决此问题?
答案 0 :(得分:1)
documentation有点棘手,但是如果仔细阅读,很显然应该采取以下步骤(对于 NET Core ):
Microsoft.Extensions.Logging.AzureAppServices
应该已安装logging.AddAzureWebAppDiagnostics();
可以使用以下代码配置日志记录
// file startup.cs
using Microsoft.Extensions.Logging.AzureAppServices;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
//...
services.Configure<AzureFileLoggerOptions>(Configuration.GetSection("AzureLogging"));
}
}
文件appsettings.json
应该包含
"AzureLogging": {
"FileName" : "azure-diagnostics-",
"FileSizeLimit": 50024,
"RetainedFileCountLimit": 5
}
应该在Azure门户上打开日志记录。启用后,Azure Portal可能会要求安装插件。需要安装插件的消息将显示在日志配置页面上。
logger.LogWarning ("message");
以写入日志文件。如果您使用LogWarning
,请确保将“级别”设置为“警告”或更详细(信息或调试)