Application Insight TelemetryClient не отображает журналы в консоли функций Azure - PullRequest
0 голосов
/ 08 ноября 2018

Я реализовал TelemetryClient для загрузки журналов приложений в Application Insight. Ниже моя реализация

public class Log : ILog
{
    private static TelemetryClient telemetryClient = new TelemetryClient() { InstrumentationKey = ConfigurationManager.AppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] };

    public void Error(string message, Exception ex = null)
    {
        telemetryClient.TrackTrace(message, SeverityLevel.Error);
        if (ex != null)
            telemetryClient.TrackException(ex);
    }

    public void Info(string message)
    {
        telemetryClient.TrackTrace(message, SeverityLevel.Information);
    }

    public void Verbose(string message)
    {
        telemetryClient.TrackTrace(message, SeverityLevel.Verbose);
    }

    public void Warning(string message)
    {
        telemetryClient.TrackTrace(message, SeverityLevel.Warning);
    }

    public TelemetryClient TelemetryClient
    {
        get
        {
            return telemetryClient;
        }
    }
}

Я видел все пользовательские журналы в ApplicationInsight

enter image description here

Задача Когда я хотел сделать мониторинг в реальном времени, я не мог видеть пользовательские журналы в окне журналов функций Azure, отображение функции под журналом, которое я не пишу.

enter image description here

1 Ответ

0 голосов
/ 12 ноября 2018

Ожидается. Упомянутое вами окно журналов функций Azure показывает журналы, записанные в функциях TraceWriter или ILogger, включая журналы, созданные во время выполнения функции, то есть результаты выполнения функции, которые вы видели.

Используя этот метод Track *, telemetryClient отправляет телеметрии для отображения в диагностическом поиске, которые недоступны при потоковой передаче журнала функций.

Если вы хотите видеть эти дорожки * в журналах функций, выведите их с помощью TraceWriter или ILogger (рекомендуется) и настройте уровень журнала в host.json .

...