我有一个aspnetcore 2.1应用程序运行在azure上。
现在,我想查看日志记录信息,以调试仅发生在Azure上的问题。
在这个应用程序中,一个ILogger<>被注入到类中并使用:this._logger.LogInformation("constructor**********************************************");
如果我在VS中运行该应用程序,我可以在调试输出窗口以及asp.net核心web服务器输出窗口中看到输出。
然后,我发布并在Azure上运行,启用Log并查看它。我确实看到了日志流中出现的信息,但这只是来自IIS的请求信息。我没看到任何其他的日志信息。
为了查看Azure上的日志记录信息,还有什么需要做的吗?
发布于 2018-10-01 07:08:14
您可以使用Microsoft.Extensions.Logging.AzureAppServices。该软件包称自己为:
记录器实现,以支持Azure App的诊断日志和日志流功能。
一旦安装了包,就需要更新记录器配置以使用这个新的提供程序,这通常是在Program.cs中完成的,如下所示:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging(loggingBuilder =>
{
loggingBuilder.AddAzureWebAppDiagnostics();
})
...
.UseStartup<Startup>();发布于 2018-09-30 13:39:49
您需要使用应用程序配置Application,以查看生成的日志。
您可以从Enable diagnostics logging for web apps in Azure App Service读取这些步骤
发布于 2018-09-30 14:47:31
您需要为您的项目安装和配置Azure应用程序Insight。
通过在应用程序中配置仪器密钥,您可以将所有类型的日志从应用程序发送到application。
安装下面的Nuget
Microsoft.ApplicationInsights.AspNetCore 2.2.0 NuGet packages
在您的asp.net核心应用程序中配置应用程序洞察
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
// Change to file post adding Application Insights Telemetry:
.UseApplicationInsights()
//
.UseStartup<Startup>()
.Build();
}https://stackoverflow.com/questions/52578278
复制相似问题