asp.net - 部署到 AppService 时的 ITelemetryProcessor 行为
问题描述
我创建了一个自定义遥测处理器,它将客户属性添加到遥测项目中。在本地运行时,我看不到任何问题,并且我看到属性被添加(在发布和调试模式下)并记录到 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 实例中注册的 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 之外的本地运行,看看它是否会重现。
推荐阅读
- wordpress - Wordpress WPML 返回所有语言的帖子
- hibernate - 在 Hibernate JPA 中连接两个表
- excel - VBA For Each 循环缩短
- javascript - 将两个事件函数同步链接在一起
- listview - 我无法覆盖 javaFX 中 cellFactory 的 updateItem 方法
- hugo - 在本地 Hugo 项目中为内容文件定义自定义模板
- javascript - 如何等待承诺解决?
- google-apps-script - 基于电子表格中的值的表单验证
- php - 修复了呈现为 mpdf 时布局 HTML 表格失真的问题
- redirect - 如何在双向重定向中添加标题?