У меня есть функция Azure V2 (триггер IotHub). Если я использую встроенный в функцию триггера ILogger, то log.Debug () выдает отлично:
[FunctionName("MainFunc")]
public async Task Run([IoTHubTrigger("messages/events", Connection = "IotHubCompatibleEndpointConnectionString", ConsumerGroup = "iothub_trigger_sqldb_cg")]
EventData eventData,
ILogger log)
{
log.LogDebug("it outputs!"); // works perfectly
Что я хочу сделать, это добавить регистратор в мой пользовательский сервис:
public class Startup : IWebJobsStartup
{
public void Configure(IWebJobsBuilder builder)
{
builder.Services.AddScoped<ITelemetryProcessor, TelemetryProcessor>();
builder.Services.AddScoped<INotificationSender, NotificationSender>();
builder.Services.AddLogging();
}
}
В конструкторе службы я пытаюсь записать журнал в консоль вывода двумя способами
public TelemetryProcessor(INotificationSender notificationSender, ILogger<ITelemetryProcessor> log, ILoggerFactory loggerFactory)
{
_notificationSender = notificationSender;
_log = loggerFactory.CreateLogger("common");
_log.LogDebug("write something"); // doesn't output
log.LogDebug("write something v2"); // doesn't output as well
....
}