首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为应用程序洞察NLog目标设置上下文

如何为应用程序洞察NLog目标设置上下文
EN

Stack Overflow用户
提问于 2016-08-23 19:11:49
回答 1查看 1.2K关注 0票数 4

我在我的WPF应用程序和NLog中使用Microsoft Application Insights来记录异常和调试信息。因此,我将应用程序洞察NLog目标添加到应用程序中。但此NLog目标记录的所有事件都不包含Azure门户上的上下文数据。

使用TelemetryClient记录的其他事件包含这些数据。

代码语言:javascript
复制
 var telemetryClient = new TelemetryClient();
        telemetryClient.InstrumentationKey = "xxx";
        telemetryClient.Context.User.Id = Environment.UserName;
        telemetryClient.Context.Session.Id = Guid.NewGuid().ToString();

        //var config = new LoggingConfiguration();
        ConfigurationItemFactory.Default.Targets.RegisterDefinition(
                    "ai",
                    typeof(ApplicationInsightsTarget)
                );

        ApplicationInsightsTarget aiTarget = new ApplicationInsightsTarget();
        aiTarget.InstrumentationKey = "xxx";
        aiTarget.Name = "ai";
        LogManager.Configuration.AddTarget("ai", aiTarget);

        LogManager.Configuration.AddRule(LogLevel.Info, LogLevel.Info, aiTarget);

        LogManager.Configuration.Reload();
        LogManager.ReconfigExistingLoggers();

我的问题是-是否也可以将此上下文数据用于NLog目标记录的事件?或者,我如何也为NLog设置上下文数据?

EN

回答 1

Stack Overflow用户

发布于 2016-08-25 03:03:13

您可以使用TelemetryInitializer来确保创建的所有项目都获得您想要的上下文?

修改后的示例来自:http://apmtips.com/blog/2014/12/01/telemetry-initializers/

代码语言:javascript
复制
namespace ApmTips.Tools
{
    using Microsoft.ApplicationInsights.Extensibility;
    using Microsoft.Diagnostics.Tracing;
    using System.Diagnostics;

    public class ExtendedIDTelemetryInitializer : ITelemetryInitializer
    {
        public void Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry telemetry)
        {
            telemetry.Context.[some field] = [some value];
        }
    }
}

你还需要注册初始化器,等等,上面的文章中有相关的说明,有几种方法可以做到这一点。

(但不要使用ContextInitializer,它的名称与您认为的功能不同)和:http://apmtips.com/blog/2015/06/09/do-not-use-context-initializers/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39099582

复制
相关文章

相似问题

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