通常,当在ASP.Net Core网站中添加Application Insights(甚至没有配置它)时,Visual Studio中的Application Insights搜索窗口会显示所有收集的遥测(请求,异常等)。
开发Azure功能时,同一个窗口非常空白,并且没有遥测显示。我已经检查了这两种情况下的TelemetryConfiguration,并且看起来都一样。我高度怀疑这是运行该功能的主机进程/子进程的问题,该功能隔离并使其无法查看正在发生的情况。
我想念什么吗?是否值得在任何GitHub存储库中打开错误/功能请求?
如果将azure函数发布为azure,则建议您不要在函数中本地配置应用程序见解。只要遵循此文档。
在您的情况下,您可以在Visual Studio中本地开发Azure功能,并希望在本地测试其应用程序见解,然后请按照以下步骤进行操作(再次注意:这只是出于测试目的,但是在将其发布为Azure之前,您应该删除所有设置,只需将一个干净的函数发布为azure->然后通过此doc配置应用程序见解):
第1步:在Visual Studio中创建一个函数,在这里我创建了一个blob触发器azure函数,版本为v3。
步骤2:然后安装此软件包Microsoft.Azure.WebJobs.Logging.ApplicationInsights。
步骤3:在函数的根目录中添加一个文件,文件名为ApplicationInsights.config
。
内容:
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
</ApplicationInsights>
这是该文件及其内容的屏幕截图:
第4步:在local.settings.json中,添加"APPINSIGHTS_INSTRUMENTATIONKEY":"any value here, even it is not a real key"
。这是屏幕截图:
步骤5:这是我在function.cs中的代码的屏幕截图:
步骤6:在本地运行该功能,然后导航至“应用程序见解搜索”,您可以看到以下消息:
啊!缺少文件是关键!非常感谢 !(我确实知道不应在Azure功能中手动添加/配置Application Insights)