it-swarm.com.ru

Как войти в журналы приложений Azure в функциях Azure V2?

Веб-приложения Azure и расширенные функции Azure позволяют отправлять сообщения журнала в хранилище больших двоичных объектов, как указано в разделе конфигурации «диагностические журналы». 

Однако экземпляр ILogger по умолчанию, передаваемый вашей реализации функций C # (v2), игнорирует этот параметр. Вместо этого кажется, что вам нужно собрать регистратор вручную, чтобы использовать эту функциональность, как показано ниже. Обратите внимание, что вам нужно добавить Microsoft.Extensions.Logging.AzureAppServices из NuGet для компиляции.

[FunctionName("myfun")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequest req, 
    ILogger log)
{
    log.LogInformation("This does not end up in the app log.");

    var factory = new LoggerFactory().AddAzureWebAppDiagnostics();

    var log2 = factory.CreateLogger("MyFun");
    log2.LogInformation("This *does* end up in the app log, if configured.");
    log2.LogError("Fake error for testing logging functionality (2)");
}

Мой вопрос: есть ли более элегантный способ получить регистратор, который пишет в настроенное хранилище BLOB-объектов App Log? Я ожидал бы, что log, переданный функции, уже будет иметь эту функцию (возможно, вызванную наблюдением, что журнал приложения настроен), но по умолчанию это не так, и я не вижу четкого пути к тому, как добавить это, ни через конфигурацию, ни путем замены аргумента ILogger log чем-то другим. 

4
Luc C

Для Azure Function V2 вы можете использовать внедренный ILogger для регистрации всех ваших журналов как аналитических данных приложения, а затем вы можете перейти к своему функциональному приложению на портале Azure> Application Insights>, затем выбрать Analytics (журналы)>, а затем использовать этот запрос, чтобы получить все журналы:

    traces
    where appName == "YourAppName"

Для старой функции V2 вы можете использовать внедренный traceWriter и интегрировать его с любым регистратором, чтобы вы могли найти свои журналы в автоматически созданной таблице хранения больших двоичных объектов, связанной с этим приложением-функцией, и вы можете легко проверить ее с помощью Microsoft Azure Storage Explorer.

1
Marzouk