我想排除一些参数(例如城市,userId,app角色,.)来自应用程序洞察中的跟踪和依赖项日志。
你有什么建议吗?
发布于 2019-06-24 08:27:30
您可以使用ITelemetryInitializer将userId / app角色的值更改为空。然后在AI日志中,将自动删除市、userId、app角色。
我用.net核心web应用程序来测试它。
1.在web项目中添加一个MyTelemetryInitializer类:
public class MyTelemetryInitializer: ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
//only apply for Trace and Dependency
if (telemetry is TraceTelemetry || telemetry is DependencyTelemetry)
{
telemetry.Context.User.Id = "";
telemetry.Context.Cloud.RoleInstance = "";
telemetry.Context.Cloud.RoleName = "";
}
}
}2.在Startup.cs -> ConfigureServices方法中,注册自定义遥测初始化器:
public void ConfigureServices(IServiceCollection services)
{
//other code
services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}3.在HomeController.cs中,创建一个TelemetryClient来发送遥测数据:
public class HomeController : Controller
{
TelemetryClient client = new TelemetryClient();
public IActionResult Index()
{
client.TrackTrace("0624-2 index: this is a trace message!!!");
return View();
}
public IActionResult About()
{
client.TrackTrace("0624-2 about: this is a trace message!!!");
ViewData["Message"] = "Your application description page.";
return View();
}
public IActionResult Contact()
{
client.TrackTrace("0624-2 contact: this is a trace message!!!");
ViewData["Message"] = "Your contact page.";
return View();
}
}4.运行项目后,等待几分钟,然后nav访问门户网站->您的应用程序洞察力->搜索页面,检查跟踪消息的属性:

https://stackoverflow.com/questions/56731238
复制相似问题