Информация о приложении - первая трассировка не собрана - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть консольное приложение, отправляющее некоторые журналы в App Insights:

public static async Task Main(string[] args)
{
    Logger.Log("test1");
    Logger.Log("test2");
    Logger.Log("test3");
    ...
}

Логгер выглядит так:

public static class Logger
{
    private static TelemetryClient _logger;

    public static void Log(string message)
    {
        _GetLogger().TrackTrace(message);
        _Flush();
    }

    private static TelemetryClient _GetLogger()
    {
        if (_logger is null) _logger = _GetTelemetryClient();
        return _logger;
    }

    ...
}

Я обнаружил, что первое сообщение не попадает в AI.Другие делают.

Есть идеи на этот счет?

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете попробовать код ниже, и он работает для меня:

В Program.cs:

        public static async Task Main(string[] args)
        {
            Logger.Log("test 1");
            Logger.Log("test 2");
            Logger.Log("test 3");

            await Logger.DoSomethingAsync();

        }

В Logger.cs:

    public static class Logger
    {
        private static TelemetryClient _logger;

        public static void Log(string message)
        {
            _GetLogger().TrackTrace(message);
            _Flush();
        }

        public static TelemetryClient _GetLogger()
        {
            if (_logger is null)
            {
                TelemetryConfiguration.Active.InstrumentationKey = "your key";
                _logger = new TelemetryClient();

            }

            return _logger;

        }

        public static void _Flush()
        {
            if (_logger is null)
            {
                TelemetryConfiguration.Active.InstrumentationKey = "your key";
                _logger = new TelemetryClient();

            }

            _logger.Flush();
        }

        public static async Task DoSomethingAsync()
        {
            await Task.Delay(1000);
        }

    }

После выполнения все сообщения отображаются на портале Azure: enter image description here

...