azure - Azure WebJobs 和 ApplicationInsights
问题描述
我有以下代码:
public static void Main()
{
_servicesBusConnectionString = ConfigurationManager.AppSettings["Microsoft.ServiceBus.ConnectionString"];
_namespaceManager = NamespaceManager.CreateFromConnectionString(_servicesBusConnectionString);
_applicationInsightsInstrumentationKey = ConfigurationManager.AppSettings["appInsightsInstrumentationKey"];
JobHostConfiguration config = new JobHostConfiguration();
ServiceBusConfiguration serviceBusConfig = new ServiceBusConfiguration
{
ConnectionString = _servicesBusConnectionString
};
config.UseServiceBus(serviceBusConfig);
config.LoggerFactory = new LoggerFactory()
.AddApplicationInsights(_applicationInsightsInstrumentationKey, null)
.AddConsole();
config.Tracing.ConsoleLevel = TraceLevel.Off;
var host = new JobHost(config);
host.RunAndBlock();
}
并在功能上:
public static async Task ProcessMessages([ServiceBusTrigger(ServiceBusQueueNames.SomeQueueName)]BrokeredMessage brokeredMessage, TextWriter log)
{
try
{
_log = log;
_log.WriteLine("WebJob started processing of a message");
await _log.FlushAsync();}
它将消息记录到控制台,但不记录到 ApplicationInsights。仪表键设置正确。
你能说一下为什么它不登录到 ApplicationInsights 吗?
我已经相应地编写了这段代码https://github.com/Azure/azure-webjobs-sdk/wiki/Application-Insights-Integration
解决方案
首先要检查:您的仪器密钥在运行时是否有效?
然后,如果 ikey 是您所期望的,它是否是您期望的资源(您不是在查看开发应用程序洞察实例,而是遥测将发送到产品实例?)
如果您在本地进行调试,您是否看到应用程序洞察程序集正在加载?您是否在调试器运行时看到来自应用程序洞察的控制台输出?
推荐阅读
- dataframe - 如何将 pyspark 数据帧 1x9 转换为 3x3
- lua - 未找到模块“cudnn”
- python - 尝试使用 python -m pip install datatable 在 python 3.7.4 中安装数据表时收到错误消息
- javascript - 如何将所有包含连字符/破折号(?)的类应用于任何 DOM 元素并将它们保存到 JavaScript 中的数组中?
- c# - 如何在 C# 中获取磁盘利用率信息
- azure - 使用python将文件从blob容器复制到另一个容器
- javascript - 将鼠标悬停在单词上时不显示 Reactjs 下拉菜单
- ios - 如何通过点击 SwiftUI 列表中的行元素从子视图返回到父视图?
- r - 在 R 中操作 .txt 文件中的数据
- php - 在 PHP 中打印图像