Partage via


TagProviderAttribute(Type, String) Constructeur

Définition

Initialise une nouvelle instance de la TagProviderAttribute classe avec un fournisseur de balises personnalisées.

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)

Paramètres

providerType
Type

Type contenant une méthode qui fournit un ensemble personnalisé de balises à journaliser.

providerMethod
String

Nom d’une méthode sur le type de fournisseur qui génère un ensemble personnalisé de balises à consigner.

Exceptions

providerMethod ou providerType est null.

providerMethod est une chaîne vide ou contient uniquement des espaces blancs.

Exemples

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

Remarques

Vous pouvez créer votre propre méthode qui génère l’ensemble exact d’étiquettes à consigner pour un objet d’entrée donné.

La méthode référencée par ce constructeur doit être non générique, staticet publicelle doit avoir deux paramètres :

  • Premier paramètre de type ITagCollector.
  • Deuxième paramètre de type T?, où T est le type de paramètre de méthode de journalisation que vous souhaitez journaliser.

S’applique à

Voir aussi