TagProviderAttribute(Type, String) Konstruktor
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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?, gdzieTjest typem parametru metody rejestrowania, który chcesz zarejestrować.