Teilen über


TagProviderAttribute(Type, String) Konstruktor

Definition

Initialisiert eine neue Instanz der TagProviderAttribute Klasse mit dem Anbieter von benutzerdefinierten Tags.

public:
 TagProviderAttribute(Type ^ providerType, System::String ^ providerMethod);
public TagProviderAttribute(Type providerType, string providerMethod);
new Microsoft.Extensions.Logging.TagProviderAttribute : Type * string -> Microsoft.Extensions.Logging.TagProviderAttribute
Public Sub New (providerType As Type, providerMethod As String)

Parameter

providerType
Type

Ein Typ, der eine Methode enthält, die einen benutzerdefinierten Satz von zu protokollierenden Tags bereitstellt.

providerMethod
String

Der Name einer Methode für den Anbietertyp, der einen benutzerdefinierten Satz von Zu protokollierenden Tags generiert.

Ausnahmen

providerMethod oder providerType ist null.

providerMethod ist entweder eine leere Zeichenfolge oder enthält nur Leerzeichen.

Beispiele

[LoggerMessage(1, LogLevel.Warning, "Custom tags for {Param}.")]
static partial void LogMethod(ILogger logger,
    [TagProvider(typeof(CustomProvider), nameof(CustomProvider.GetTagsToLog))] ClassToLog o);

public static class CustomProvider
{
    public static void GetTagsToLog(ITagCollector collector, ClassToLog? param)
    {
        collector.Add("Custom_tag_name", param?.MyProperty);
        collector.Add(nameof(ClassToLog.AnotherProperty), param?.AnotherProperty);
        // ...
    }
}

Hinweise

Sie können eine eigene Methode erstellen, die den genauen Satz von Tags generiert, die für ein bestimmtes Eingabeobjekt protokolliert werden sollen.

Die Methode, auf die von diesem Konstruktor verwiesen wird, staticsollte nicht generisch sein, und publicsie sollte zwei Parameter aufweisen:

  • Erster Parameter vom Typ ITagCollector.
  • Zweiter Parameter vom Typ T?, wobei T der Typ des Protokollierungsmethodeparameters, den Sie protokollieren möchten.

Gilt für:

Weitere Informationen