Wie kann ich alle Protokollierungsanbieter in der Anwendung auflisten und ihre Anbieternamen abrufen?
Zu Debugging-Zwecken habe ich Ich möchte alle Protokollierungsanbieter in meiner Anwendung auflisten und deren Anbieternamen abrufen.
Beachten Sie den folgenden Code. In offiziellen Dokumenten habe ich den Anbieternamen des ApplicationInsights-Protokollierungsanbieters als „Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider“ gefunden..
Anstatt mich auf Dokumente verlassen zu müssen , wie könnte ich diesen Anbieternamen selbst abrufen? Ich habe mir die Klasse ApplicationInsightsLoggerProvider angesehen, die zum Hinzufügen von Regeln verwendet wird, aber sie scheint keine Eigenschaft zu haben, die ihren Anbieternamen offenlegt?
Bonus:Warum gibt es keine RemoveFilter-Methode und was ist der Unterschied zwischen einer Regel und einem Filter?
Code:
Code: Select all
// Configure logging
builder.Services.Configure(options =>
{
// Default ApplicationInsights logging filter
var defaultRule = options.Rules.FirstOrDefault(rule => rule.ProviderName == "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");
if (defaultRule is not null)
{
options.Rules.Remove(defaultRule);
}
});
builder.Logging.AddFilter("MyCategory", LogLevel.Error);
Wie kann ich alle Protokollierungsanbieter in der Anwendung auflisten und ihre Anbieternamen abrufen?
Zu Debugging-Zwecken habe ich Ich möchte alle Protokollierungsanbieter in meiner Anwendung auflisten und deren Anbieternamen abrufen.
Beachten Sie den folgenden Code. In offiziellen Dokumenten habe ich den Anbieternamen des ApplicationInsights-Protokollierungsanbieters als „Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider“ gefunden..
Anstatt mich auf Dokumente verlassen zu müssen , wie könnte ich diesen Anbieternamen selbst abrufen? Ich habe mir die Klasse ApplicationInsightsLoggerProvider angesehen, die zum Hinzufügen von Regeln verwendet wird, aber sie scheint keine Eigenschaft zu haben, die ihren Anbieternamen offenlegt?
Bonus:Warum gibt es keine RemoveFilter-Methode und was ist der Unterschied zwischen einer Regel und einem Filter?
Code:
[code]// Configure logging
builder.Services.Configure(options =>
{
// Default ApplicationInsights logging filter
var defaultRule = options.Rules.FirstOrDefault(rule => rule.ProviderName == "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");
if (defaultRule is not null)
{
options.Rules.Remove(defaultRule);
}
});
builder.Logging.AddFilter("MyCategory", LogLevel.Error);
[/code]