我注意到App Insights在分析工具中查询时有一个名为appName(和appId)的字段(请参见下文),但是我没有看到在客户端库中设置此方法的方法。可以这样设置吗?
我尝试将相关项目记录到应用洞察,但日志来源可能不同。使用该字段似乎是处理该场景的一种很好的方式,尽管我对不同的场景持开放态度。
答案 0 :(得分:5)
这些值在后端填充并指定Application Insights资源详细信息,因此无法更改。
您正在寻找的是custom dimensions。
例如,发送遥测:
Hello
要查询这些自定义维度:
EventTelemetry telemetry = new EventTelemetry("my custom event");
telemetry.Properties.Add("MyApp", "HelloWorld");
telemetryClient.TrackEvent(telemetry);
答案 1 :(得分:4)
您可以在预览中设置应用程序名称。这是通过以下方式完成的:
启用预览:转到门户网站 - >应用见解 - >预览 - >启用多角色应用程序映射
设置应用程序名称:
这是通过添加拦截器来完成的:
public class ServiceNameInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
telemetry.Context.Cloud.RoleName = "MyProcessName";
}
}
将拦截器添加到startup.cs中的应用程序洞察配置:
private void ConfigureAppInsights(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry(Configuration);
TelemetryConfiguration.Active.TelemetryInitializers
.Add(new ServiceNameInitializer());
}
阅读详情:cross-process-application-insights-with-multi-role-application-map