首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Application Insights记录自定义属性

Application Insights记录自定义属性
EN

Stack Overflow用户
提问于 2019-03-18 08:48:51
回答 1查看 1.3K关注 0票数 2

我希望有一个共享的应用程序洞察实例,它将保存来自不同微服务运行的所有日志。

对于其中的每一个,我都添加了

代码语言:javascript
复制
        services.AddLogging(
            loggingBuilder =>
            {
                loggingBuilder
                .SetMinimumLevel(settings.LogLevel)
                .AddApplicationInsights();
            }
        );

但是在azure门户中,我希望能够搜索单个应用程序的日志,例如使用"applicationName = 'MyAppName'“这样的查询。

是否可以将loggingBuilder设置为将此自定义属性applicationName添加为MyAppName

日志记录本身是这样做的

代码语言:javascript
复制
public void MyMethod()
{
    try
    {
      //whatever
    }
    catch (Exception ex)
    {
      logger.LogError(ex, "Meaningful information");
    }
} 

或者,通常情况下,共享应用洞察实例并将所有日志和遥测信息放在一堆中是不好的想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-18 09:06:15

您可以使用ITelemetryInitializer来设置角色名称

代码语言:javascript
复制
    public class MyTelemetryInitializer : ITelemetryInitializer
    {
        public void Initialize(ITelemetry telemetry)
        {
            if (string.IsNullOrEmpty(telemetry.Context.Cloud.RoleName))
            {
                //set custom role name here
                telemetry.Context.Cloud.RoleName = "RoleName";
            }
        }
    }

然后如果它的.net核心注册了它

代码语言:javascript
复制
  services.AddSingleton<ITelemetryInitializer>(new MyTelemetryInitializer ());
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55213429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档