Бөлісу құралы:


TagProviderAttribute(Type, String) Конструктор

Определение

Инициализирует новый экземпляр класса с помощью пользовательского TagProviderAttribute поставщика тегов.

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)

Параметры

providerType
Type

Тип, содержащий метод, предоставляющий настраиваемый набор тегов для журнала.

providerMethod
String

Имя метода в типе поставщика, создающего настраиваемый набор тегов для журнала.

Исключения

providerMethod или providerType есть null.

providerMethod является пустой строкой или содержит только пробелы.

Примеры

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

Комментарии

Вы можете создать собственный метод, который создаст точный набор тегов для входа для заданного входного объекта.

Метод, на который ссылается этот конструктор, должен быть не универсальным, staticи publicдолжен иметь два параметра:

  • Первый параметр типа ITagCollector.
  • Второй параметр типа T?, где T используется тип параметра метода ведения журнала, который требуется регистрировать.

Применяется к

См. также раздел