Sdílet prostřednictvím


TagProviderAttribute(Type, String) Konstruktor

Definice

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?, kde T je typ parametru metody protokolování, který chcete protokolovat.

Platí pro

Viz také