Аналитика приложений в Azure Function App Core v2

Я пытаюсь использовать стандартный ILogger и записывать его в Azure. Сначала я добавил в файл хоста следующее:

{
  "version": "2.0",
  "Logging": {
    "ApplicationInsights": {
      "LogLevel": {
        "Default": "Trace",
        "System": "None",
        "Microsoft": "None"
      }
    }
  },
  "ApplicationInsights": {
    "Instrumentationkey": "xx-xx-xx-xx-xx"
  }
}

И это моя функция:

namespace Jobs
{
    public static class ExchangeRates
    {
        [FunctionName("ExchangeRates")]
        public static void Run([TimerTrigger("0 0 0 * * *", RunOnStartup =true)]TimerInfo myTimer, ILogger log)
        {
            string lol1 = "lol1 text";
            string lol2 = "lol2 text";

            log.LogWarning("adsad");
            log.LogDebug("LogDebug", "asdasd", lol2);
            log.LogTrace("LogTrace {lol1}, {lol2}", lol1, lol2);
            log.LogInformation("LogInfo {lol1}, {lol2}", lol1, lol2);
            log.LogError("LogError");
            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");            
        }
    }
}

Но логи не добавляются. Я также попытался установить пакет nuget: Microsoft.Extensions.Logging.ApplicationInsights

Я что-то упустил - что нужно, чтобы приложение-функция писала в Application Insights?

1 ответ

Решение

Я думаю, что вы запускаете функцию Azure локально с помощью аналитики приложений, верно?

Если да, на самом деле это не рекомендуется, поскольку аналитика приложений интегрирована с функцией Azure на портале Azure.

Но только для тестирования, вы можете просто добавить эту строку настройки "APPINSIGHTS_INSTRUMENTATIONKEY": "the key" в local.settings.json(не забудьте установить его как "копировать, если новее"). Примеры настроек вlocal.settings.json выглядит как показано ниже:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "xxxxxx",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "APPINSIGHTS_INSTRUMENTATIONKEY": "the key"
  }
}

Кстати, я также установил пакет nuget Microsoft.Extensions.Logging.ApplicationInsights в моем тесте.

Другие вопросы по тегам