我有一个使用应用程序洞察的.NET5Web应用程序。我尝试使用ilogger<>
登录AI trace。然而:当分析Azure上AI中的“痕迹”内容时,日志并不显示。
启动部分:
services.AddLogging(loggingbuilder =>
{
loggingbuilder.AddFilter<ApplicationInsightsLoggerProvider>("", LogLevel.Trace);
loggingbuilder.AddApplicationInsights();
});
services.AddApplicationInsightsTelemetry();
应该进行日志记录的类的构造函数通过依赖注入来注入ILogger和AppInsights:
public ImportService(ILogger<ImportService> log, TelemetryClient telemetryClient)
{
_log = log;
_telemetryClient = telemetryClient;
}
在该方法中,我有以下两个日志记录尝试:
public async Task<Customer> UpdateCustomerByEmail(string email)
{
_telemetryClient.TrackTrace("From Telemetry");
_log.LogWarning("From Log");
[...]
}
instrumentationkey存储在appsettings中(显然正确,因为telemetryClient-Track正在工作)
这份文件可能与你有关吗?向program.cs中添加以下代码对我起作用:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddApplicationInsights("<instrumentationKeyHere>");
logging.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>("", LogLevel.Information);
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
还必须安装nuget包Microsoft.Extensions.Logging.ApplicationInsights。
在您的情况下,只需提供检测键作为AddApplicationInsights函数的参数就足够了。
如文档中所述:“仅当您使用独立日志记录提供程序时才需要此代码。对于常规应用程序洞察监视,检测密钥将从配置路径ApplicationInsights:InstrumentationKey自动加载。”
这可能解释了为什么定期监控有效,但不适合日志记录。
唯一可以解决这一问题的方法是在startup.configure()中添加下面一行代码: 上面的解决方案是不可取的,因为我们希望根据环境不同地配置日志级别,因此基于配置的解决方案将是首选的。此外,我猜测问题是配置相关的,因为它在本地运行良好。在Azure中没有特殊的配置。 下面是整个startup.configure():
我正在设置一个新的web应用程序,通过Application Insights登录。我已经安装了AI,并且看到了所有预期的遥测(服务器请求、失败的请求等),但没有通过ILogger发送日志。我已经看过所有类似的问题,我可以找到这样,但没有解决我的问题。 我正在使用。NET 5和2.17版。Microsoft的0(最新版本)。应用程序指示灯。AspNetCore-nuget包。连接字符串和检测键显示
有没有什么简单的方法可以找到哪些应用程序正在使用azure Portal的特定应用程序洞察? 我已经检查了门户中的各种选项,但没有找到任何易于理解的界面,我可以在其中找到正在向特定应用程序Insights发送数据的应用程序列表。
我们为Azure Portal中托管的Web应用程序安装了应用程序Insights。
我正在尝试配置我的azure ASP.NET网站,以便将log4net跟踪发送到azure Application Insights。我可以看到在我的azure控制台页面视图等,因此我知道这是工作良好的。当配置了文件处理程序时,我还可以看到log4net跟踪,但是当配置log4net以使用application insights处理程序时,我没有看到任何log4net条目出现在applicatio
有人能解释一下在使用Azure Function V2(.NET核心)时,如何强制ILogger实际将一些东西登录到应用程序insights中吗? 我们配置了应用程序洞察力,它显示了实时远程和未处理的异常。我们正在尝试的工作是强制应用程序insights存储我们通过默认的iLogger创建的日志。 无论我们使用哪种类型的日志级别(信息、警告、错误、关键)--应用程序洞察中没有存储任何东西。 更多信