我创建了一个自定义遥测处理器,它将客户属性添加到遥测项目中。在本地运行时,我看不到任何问题,并且看到正在添加属性(处于发布和调试模式)并已记录到AppInsights。
当部署到应用程序服务时,我看到的是日志,但是缺少遥测处理器添加的属性。
我正在使用.Net Core 2.1,NuGet的应用程序见解版本是2.3.0。有没有办法调试为什么发生这种情况?还有人知道这是否是已知问题吗?
答案 0 :(得分:3)
您能否共享增加应用程序见解和遥测处理器的代码?应该是这样的:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddApplicationInsightsTelemetry();
services.AddApplicationInsightsTelemetryProcessor<MyFirstCustomTelemetryProcessor>();
// If you have more processors:
services.AddApplicationInsightsTelemetryProcessor<MySecondCustomTelemetryProcessor>();
// ...
}
您可以尝试打印在TelemetryConfiguration实例中注册的TelemetryProcessor列表吗?您可以构造函数将TelemetryConfiguration
注入控制器类,并打印出列表。如下所示。
string tpList;
public ValuesController(TelemetryConfiguration tc)
{
var tps = tc.TelemetryProcessors;
foreach(var tp in tps)
{
var s = tp.GetType().ToString();
tpList += s;
}
}
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2", tpList };
}
这应该确认TelemetryProcessor是否在配置中。
此外,当您说在本地工作时-是从Visual Studio运行时的意思吗? VS会改变行为,因此可以尝试在VS之外本地运行,并查看它是否会失败。