Как войти в журналы приложений Azure в функциях Azure V2? - PullRequest
0 голосов
/ 27 сентября 2018

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

Однако экземпляр ILogger по умолчанию, который вы передаете реализации C # Functions (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 чем-то другим.

1 Ответ

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

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

    traces
    where appName == "YourAppName"

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

...