【问题标题】:Azure Application Insight with NLog (Target not found)带有 NLog 的 Azure Application Insight(未找到目标)
【发布时间】:2017-12-19 02:01:48
【问题描述】:

我正在尝试通过 NLOG 插入日志以在控制台应用程序中洞察应用程序。但是当使用 ColouredConsole 显示 log sin 控制台窗口时,它不会插入到 Application Insight 中。

也以编程方式尝试过,但仍然记录不会进入应用程序洞察力。

参考链接: https://github.com/Microsoft/ApplicationInsights-dotnet-logging NLOG 下的代码跟在后面。

【问题讨论】:

    标签: c# azure nlog azure-application-insights


    【解决方案1】:

    根据你的描述,我猜你遇到错误target not found的原因是你设置了错误的InstrumentationKey。

    我建议您可以重新检查 InstrumentationKey,它可以在 AI 的概述中找到,如下所示:

    然后你可以使用下面的代码来测试它。

    安装 Microsoft.ApplicationInsights.NLogTarget 包

            var config = new LoggingConfiguration();
    
            ApplicationInsightsTarget target = new ApplicationInsightsTarget();
    
            target.InstrumentationKey = "key";
            LoggingRule rule = new LoggingRule("*", NLog.LogLevel.Trace, target);
            config.LoggingRules.Add(rule);
    
            LogManager.Configuration = config;
    
            Logger logger = LogManager.GetLogger("Example");
    
            logger.Trace("trace log message");
    
            Console.Read();
    

    终于可以在搜索功能中找到记录了。


    更新:

    两个应用程序使用相同的 AI:

    【讨论】:

    • 我按照上述相同的步骤,仍然没有登录应用程序洞察力。我在网站 + 移动设备下创建了 Application Insight,并且我使用控制台应用程序进行日志记录,但日志仍然会插入?
    • 如果您设置了正确的 InstrumentationKey,它仍然会将日志插入到 AI 中。您是否设置了正确的 InstrumentationKey?您是否遇到任何错误?在输出窗口中你看到 AI 的日志了吗?
    • 您有没有部分时间运行控制台应用程序?由于 AI SDK 翻译消息需要一些时间。我建议你可以在 main 方法的末尾添加 Console.Read 方法,等待记录已经翻译到 azure AI。
    • 我添加并等待了至少 2-3 分钟。
    • 这是很奇怪的事情,我建议你可以创建另一个AI并使用我的代码再次测试它,确保你使用正确的InstrumentationKey。我还创建了另一个应用程序来测试它,它可以作为我的更新答案。
    猜你喜欢
    • 1970-01-01
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多