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используется тип параметра метода ведения журнала, который требуется регистрировать.