TagProviderAttribute(Type, String) Konstruktor

Definicja

Inicjuje TagProviderAttribute nowe wystąpienie klasy za pomocą niestandardowego dostawcy tagów.

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)

Parametry

providerType
Type

Typ zawierający metodę, która udostępnia niestandardowy zestaw tagów do rejestrowania.

providerMethod
String

Nazwa metody w typie dostawcy, która generuje niestandardowy zestaw tagów do rejestrowania.

Wyjątki

providerMethod lub providerType ma wartość null.

providerMethod jest pustym ciągiem lub zawiera tylko białe znaki.

Przykłady

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

Uwagi

Możesz utworzyć własną metodę, która wygeneruje dokładny zestaw tagów do rejestrowania dla danego obiektu wejściowego.

Metoda, do którą odwołuje się ten konstruktor, powinna być niegeneryczna, statici public, i powinna mieć dwa parametry:

  • Pierwszy parametr typu ITagCollector.
  • Drugi parametr typu T?, gdzie T jest typem parametru metody rejestrowania, który chcesz zarejestrować.

Dotyczy

Zobacz też