TagProviderAttribute(Type, String) Konstruktor
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci třídy pomocí vlastního TagProviderAttribute zprostředkovatele značek.
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 obsahující metodu, která poskytuje vlastní sadu značek, které se mají protokolovat.
- providerMethod
- String
Název metody pro typ zprostředkovatele, který generuje vlastní sadu značek, které se mají protokolovat.
Výjimky
providerMethod nebo providerType je null.
providerMethod je prázdný řetězec nebo obsahuje pouze prázdné znaky.
Příklady
[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);
// ...
}
}
Poznámky
Můžete vytvořit vlastní metodu, která vygeneruje přesnou sadu značek pro protokol pro daný vstupní objekt.
Metoda odkazovaná tímto konstruktorem by měla být ne generická a staticpublicměla by mít dva parametry:
- První parametr typu ITagCollector.
- Druhý parametr typu
T?, kdeTje typ parametru metody protokolování, který chcete protokolovat.