Переопределение уровня журнала для Azure функций - PullRequest
1 голос
/ 12 марта 2020

Есть ли способ переопределить уровень журнала по умолчанию для приложения-функции Azure без обновления файла хоста. json? Я хочу, чтобы моя функция передавала журналы трассировки в приложения только в среде разработчика. Я думаю, можно ли просто установить переменную окружения, и функция будет знать, когда передавать журналы.

Ответы [ 3 ]

1 голос
/ 13 марта 2020

мы не можем настроить уровень журнала, используя переменные среды. Когда запускается функция host, она считывает уровень журнала с хоста. json и вводит экземпляр ILogger с соответствующими правилами фильтрации. Конфигурации хоста не являются переменными env.

0 голосов
/ 18 марта 2020

Возможный обходной путь - создать собственную настройку приложения, чтобы определить, на каком уровне журнала вы хотите работать. Затем в своем коде загрузите настройку приложения в функцию и используйте ее для управления вызовом метода логгера. Например:

bool shouldDebug = // obtain the app setting, or environment variable here
bool shouldInformation = // same for here
bool shouldTrace = // same for here

if (shouldDebug) { logger.LogDebug("Log debug!"); }
if (shouldInformation) { logger.LogInformation("Log information!"); }
if (shouldTrace) { logger.LogTrace("Log trace!"); }

Ваш код станет более раздутым, но это даст вам возможность более легко изменять уровень ведения журнала. Однако следует отметить, что изменение настроек приложения в любом случае приведет к перезапуску приложения, поэтому оно не будет сильно отличаться от изменения хоста. json и перезапуска приложения.

0 голосов
/ 13 марта 2020

Пока я предполагаю, что мы не можем настроить уровень журнала, используя переменные среды. И я не думаю, что вам нужно туда добраться. Я думаю, что вы просто хотите указать другой уровень для другой функции, а уровень журнала поддерживает указание функции.

конфигурация журнала в хосте. json.

"logging": {
    "logLevel": {
     // For specific function
     "Function.MyFunction1": "Information",
     // For all functions
     "Function":"Error",
     // Default settings, e.g. for host 
     "default": "None"
    }
}
...