Condividi tramite


TagProviderAttribute(Type, String) Costruttore

Definizione

Inizializza una nuova istanza della TagProviderAttribute classe con il provider di tag personalizzati.

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)

Parametri

providerType
Type

Tipo contenente un metodo che fornisce un set personalizzato di tag da registrare.

providerMethod
String

Nome di un metodo sul tipo di provider che genera un set personalizzato di tag da registrare.

Eccezioni

providerMethod o providerType è null.

providerMethod è una stringa vuota o contiene solo spazi vuoti.

Esempio

[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);
        // ...
    }
}

Commenti

È possibile creare un metodo personalizzato che genererà il set esatto di tag da registrare per un determinato oggetto di input.

Il metodo a cui fa riferimento questo costruttore deve essere non generico, static, e publice deve avere due parametri:

  • Primo parametro di tipo ITagCollector.
  • Secondo parametro di tipo T?, dove T è il tipo di parametro del metodo di registrazione che si vuole registrare.

Si applica a

Vedi anche