Функции Azure — изолированный .NET 8 — ведение журнала больше не отображается в трассировке вызовов портала AzureC#

Место общения программистов C#
Ответить
Anonymous
 Функции Azure — изолированный .NET 8 — ведение журнала больше не отображается в трассировке вызовов портала Azure

Сообщение Anonymous »

При написании функций Azure на C# я считаю очень полезным то, что я могу выводить некоторые выбранные сообщения в средство ведения журнала и чтобы эти сообщения отображались в «Следах вызова» на портале Azure:
Это работало отлично, от функции Azure v1 до тех, которые написаны для изолированной .NET 6.0.
Изображение

Но теперь я создал еще несколько новых функций, используя изолированную .NET 8.0, и теперь кажется, что вывод этих сообщений журнала/трассировки больше не работает....
Изображение

Что изменилось настолько фундаментально, что мое ведение журнала больше не отображается на портале Azure?
Прямо сейчас я внедряю ILoggerFactory в свой класс функций Azure и создаю из него ILogger (где T — тип моего функционального класса).

Код: Выделить всё

public class MyAzureFunction
{
private readonly IConfiguration _configuration;
private readonly ILoggerFactory _factory;
private readonly ILogger _logger;

public MyAzureFunction(IConfiguration configuration, ILoggerFactory factory)
{
_configuration = configuration;
_factory = factory;
_logger = factory.CreateLogger();
}

// Actual Azure Function code follows here
}
Я также пытался использовать FunctionContext в качестве внедряемого параметра для моего метода функции Azure, который запускается (по HTTP-вызову или таймеру), и создать из него ILogger:

Код: Выделить всё

[Function("MyAzureFunction")]
public async Task Run([HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req,
FunctionContext executionContext)
{
ILogger _logger = executionContext.GetLogger(nameof(MyAzureFunction));

_logger.LogInformation("My Azure Function was HTTP triggered");

// rest of the function code
}
Кажется, ни один из этих подходов не работает — ни одно из моих собственных сообщений, выдаваемых _logger.LogInformation, на самом деле не отображается на экране «Следы вызовов» портала Azure.
Я также экспериментировал с различными настройками в _host.json — но безрезультатно — и не знаю точно, где кроется проблема и как ее исправить, все это похоже на немного беспорядочный метод «проб и ошибок», без толкового понимания, в чем проблема и как ее решить.
Может ли кто-нибудь меня просветить? Что мне не хватает? Что изменилось благодаря поддержке .NET 8.0 в функциях Azure? Как я могу добиться, чтобы мои собственные сообщения снова отображались в трассировках вызовов Azure?

Подробнее здесь: https://stackoverflow.com/questions/780 ... ure-portal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»