Настройка уровня журнала для функций Azure - PullRequest
3 голосов
/ 29 марта 2019

У меня есть приложение-функция Azure, в котором настроено понимание приложения. Мои функции содержат сообщения LogTrace(), но они не регистрируются AppInsights. Нужно ли где-то настраивать минимальный уровень логирования?

Ответы [ 2 ]

3 голосов
/ 29 марта 2019

Пожалуйста, ознакомьтесь с этой статьей о том, как установить уровень журнала для функции v1 или v2.

В файле host.json для поля «Функция» установите его значениепроследить.Затем LogTrace () может быть зарегистрирован в приложении insights.

Пример host.json для функции Azure v2, которая может записать сообщение трассировки в комментарии приложения:

{
  "version": "2.0",
  "logging": {
    "fileLoggingMode": "always",
    "logLevel": {
      "default": "Information",
      "Host.Results": "Error",
      "Function": "Trace",
      "Host.Aggregator": "Trace"
    }
  }
}

И если вы опубликуете свою функциюПриложение с Visual Studio, вы можете изменить свой файл host.json, как описано выше, перед публикацией.

И если вы хотите изменить уровень журнала на портале Azure, выполните следующие действия:

ВПортал Azure, перейдите к своему приложению функции -> в настройках приложения функции, убедитесь, что включили чтение / запись, затем измените уровень журнала для отслеживания в host.json.

enter image description here

0 голосов
/ 30 мая 2019

Чтобы дополнительно добавить к превосходному ответу @Ivan Yang, вы можете указать минимальный уровень ведения журнала для функции в v2 функций Azure. (Я не проверял, работает ли это / не работает в v1). Используя его пример host.json:

{
  "version": "2.0",
  "logging": {
    "fileLoggingMode": "always",
    "logLevel": {
      "default": "Information",
      "Host.Results": "Error",
      "Function": "Trace",
      "Function.FunctionA": "Warning",
      "Host.Aggregator": "Trace"
    }
  }
}

Function.FunctionA предполагает, что у вас есть функция с именем (через атрибут FunctionName) "FunctionA", например ::

[FunctionName("FunctionA")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "")]HttpRequest req, ILogger log)
{
  ...function code here
}

Таким образом, любое значение, указанное вами в атрибуте FunctionName, можно использовать для явного определения минимального уровня журнала только для этой функции. В приведенном выше примере host.json все функции по умолчанию будут иметь минимальный уровень ведения журнала Trace, тогда как FunctionA будет иметь минимальный уровень ведения журнала Warning.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...