Wie konfiguriere ich die Protokollierung in Azure App Insights/Azure Log Stream in „neuen“ Azure Functions?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie konfiguriere ich die Protokollierung in Azure App Insights/Azure Log Stream in „neuen“ Azure Functions?

Post by Anonymous »

In meinen früheren Azure Functions (unter .NET 5.0/6.0) habe ich diesen Code verwendet, um die Protokollierung so zu konfigurieren, dass Protokollierungsmeldungen für die Protokollebenen „Debug“ und „Information“ an den Azure Functions-Protokollstream ausgegeben werden (standardmäßig werden nur „Warnung“ und höher protokolliert):

Code: Select all

var app = new HostBuilder()
.ConfigureFunctionsWebApplication()
// .... other stuff - not relevant here
.ConfigureLogging(logging =>
{
logging.Services.Configure(options =>
{
// find the "rule" that triggers this behavior
LoggerFilterRule defaultRule = options.Rules.FirstOrDefault(rule => rule.ProviderName == "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");

// if "rule" is found - remove it to allow logging on "Debug" and "Information" levels
if (defaultRule != null)
{
options.Rules.Remove(defaultRule);
}
});
})
.Build();
Das hat gut funktioniert und seinen Zweck erfüllt.
Jetzt erstelle ich eine Reihe „neuer“ Azure-Funktionen, basierend auf .NET 10, und jetzt habe ich in meiner program.cs eine „neue Möglichkeit“, das Setup der Azure-Funktion zu konfigurieren:

Code: Select all

var builder = FunctionsApplication.CreateBuilder(args);

builder.ConfigureFunctionsWebApplication();

builder.Services
.AddApplicationInsightsTelemetryWorkerService()
.AddHttpClient()
.ConfigureFunctionsApplicationInsights();

builder.Build().Run();
Aus Liebe zum Programmieren, ich kann in dieser „neuen Azure-Funktions“-Welt nicht herausfinden, wie ich das Setup mit dem „alten“ Code durchführen soll. Irgendwelche Erkenntnisse, Tipps, Referenzen?
Ich habe es versucht

Code: Select all

builder.Configuration. ......
aber ich bin nicht weiter gekommen. Was fehlt mir? Ich kann keine .Rules-Eigenschaft in builder.Configuration finden, und ich sehe auch keine .FindRule() oder ähnliche Methode ... Wie kann ich also auf die Konfiguration zugreifen und die „anstößige“ Regel finden, die ich entfernen möchte?
Ich finde auch keine builder.ConfigureLogging()-Methode, die ich verwenden könnte ...
Das würde ich wirklich tun Ich möchte gerne mit der Zeit gehen und diesen neuen Stil übernehmen – aber ich muss wissen, wie ich die Dinge, die ich zuvor getan habe, in dieser neuen Programmierwelt tun kann! :-)
Danke!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post