<p>MISE À JOUR</p>
<p>Référence <a href="https://learn.microsoft.com/en-us/azure/azure-functions/functions-dotnet-dependency-injection#registering-services">Utiliser l’injection de dépendances dans les Azure Functions .NET</a></p>
<p>Enregistrement des services</p>
<p>Pour enregistrer des services, vous pouvez créer une méthode de configuration et ajouter des composants à une instance<br>
<code>IFunctionsHostBuilder</code>. L’hôte Azure Functions crée un <code>IFunctionsHostBuilder</code><br>
et le passe directement dans votre méthode configurée.</p>
<p>Pour enregistrer votre méthode de configuration, vous devez ajouter un attribut d’assembly<br>
qui spécifie le type de votre méthode de configuration en utilisant<br>
l’attribut <code>FunctionsStartup</code>.</p>
<p>Donc dans ce cas :</p>
<pre><code class="lang-auto">[assembly: FunctionsStartup(typeof(MyNamespace.Startup))]
namespace MyNamespace {
public class Startup : FunctionsStartup {
public override void Configure(IFunctionsHostBuilder builder) {
// ** Registers the ILogger instance **
builder.Services.AddLogging();
// Registers the application settings' class.
//...
//...omitted for brevity
}
}
}
</code></pre>
<p>ORIGINAL</p>
<p>Je pense que puisque vous avez accès à la collection de services, vous devriez pouvoir y ajouter la journalisation :</p>
<pre><code class="lang-auto">public void Configure(IWebJobsBuilder webJobsBuilder) {
// ** Registers the ILogger instance **
webJobsBuilder.Services.AddLogging();
//OR
//webJobsBuilder.Services.AddLogging(builder => {
// //...
//});
// Registers the application settings' class.
//...
//...removed for brevity
}
</code></pre>
<p>et avoir un <code>ILoggerFactory</code> dans le constructeur de la Function.</p>
<pre><code class="lang-auto">//...
//Ctor
public FindAccountFunction(ILoggerFactory loggerFactory, IMapper mapper, IAccountWorkflow accountWorkflow) {
m_logger = loggerFactory.CreateLogger<FindAccountFunction>();
m_mapper = mapper;
m_accountWorkflow = accountWorkflow;
}
//...
</code></pre>