部署到应用服务时的处理器行为



我创建了一个自定义遥测处理器,该处理器将客户属性添加到遥测项。在本地运行时,我没有看到任何问题,并且我看到正在添加的属性(在发布和调试模式下(并记录到 AppInsights。

部署到应用服务时,我看到日志,但缺少遥测处理器添加的属性。

我使用的是.Net Core 2.1,应用程序见解NuGet版本是2.3.0。 有没有办法调试为什么会发生这种情况?还有人知道这是否是已知问题吗?

能否分享添加应用程序见解和遥测处理器的代码?它应该是这样的:

public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddApplicationInsightsTelemetry();
services.AddApplicationInsightsTelemetryProcessor<MyFirstCustomTelemetryProcessor>();
// If you have more processors:
services.AddApplicationInsightsTelemetryProcessor<MySecondCustomTelemetryProcessor>();
// ...
}

是否可以尝试打印在遥测配置实例中注册的遥测处理器列表?可以将构造函数注入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 };
}

这应该确认遥测处理器是否在配置中。

另外,当你说在本地工作时 - 你的意思是从Visual Studio运行时吗?VS 会改变行为,因此可以尝试在 VS 外部本地运行,并查看它是否重现。

最新更新