如何检查customLog是否上载到Azure Application Insights

问题描述 投票:0回答:1

我正在尝试通过提供检测密钥向Azure Application Insights添加自定义事件,如下所示:

    public void WriteAgentLogs(string message, int AgentId, int ScheduleId)
    {
        TelemetryClient _telemetryClient = new TelemetryClient(new Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration() { InstrumentationKey = "xxxxxxxxxxxxxxxxxxxxxxxxxx" });
        _telemetryClient.InstrumentationKey = ""xxxxxxxxxxxxxxxxxxxxxxxxxx"";
        var parameters = new Dictionary<string, string>();

        parameters.Add("Message", message);
        parameters.Add("AgentId", AgentId.ToString());
        parameters.Add("ScheduleId", ScheduleId.ToString());
        parameters.Add("ScheduleStartDate", DateTime.Now.ToString());

        // check and add metrics here
        var metrics = new Dictionary<string, double>();
        if (duration != null)
        {
            metrics.Add("Duration", (double)duration);
        }

        _telemetryClient.TrackEvent("Agents", parameters, metrics);

        _telemetryClient.TrackTrace("Agents");

        _telemetryClient.TrackTrace(message, SeverityLevel.Information);
    }

代码执行后,我在输出窗口中得到以下内容:

The program '[9672] LoadDataToAppInsights.exe' has exited with code 0 (0x0).
The program '[9672] LoadDataToAppInsights.exe: Program Trace' has exited with code 0 (0x0).

当我返回Azure门户并检查这些日志时,日志不会上传。我无法弄清楚问题出在哪里。我该如何纠正这个问题?

c# azure azure-application-insights
1个回答
0
投票

更新:首先,您需要通过nuget:enter image description here安装Microsoft.ApplicationInsights(这里我安装最新版本2.7.2)

然后,包括以下命名空间:

using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.DataContracts;
using Microsoft.ApplicationInsights.Extensibility;

对于控制台项目,您需要在Trackxx()方法之后添加以下代码:

    System.threading.thread.sleep(5000);
    _telemetryClient.Flush();

这是我的示例代码:

        static void Main(string[] args)
        {
            TelemetryConfiguration.Active.InstrumentationKey = "your key";
            var telemetry = new TelemetryClient();

            var parameters = new Dictionary<string, string>();

            parameters.Add("Message", "message test");
            parameters.Add("AgentId", "Agent test");
            parameters.Add("ScheduleId", "schedule test");
            parameters.Add("ScheduleStartDate", DateTime.Now.ToString());

            var metrics = new Dictionary<string, double>();

                metrics.Add("Duration", 999.99);

            telemetry.TrackEvent("Agents event", parameters, metrics);

            telemetry.TrackTrace("Agents trace");

            telemetry.TrackTrace("message trace", SeverityLevel.Information);
            //telemetry.TrackTrace("0919 after today...");

            System.Threading.Thread.Sleep(5000);
            telemetry.Flush();

            Console.WriteLine("done now.");
            Console.ReadLine();
        }

执行后,如果输出窗口中显示以下消息,则表示上传成功:enter image description here

然后转到azure portal - >您的应用程序见解 - >概述刀片 - >单击搜索,您应该看到您上传的日志(如果可能需要几分钟才能在门户上显示):enter image description here

单击日志以查看详细信息:enter image description here

如果有效,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.