Bagikan melalui


TagProviderAttribute(Type, String) Konstruktor

Definisi

Menginisialisasi instans TagProviderAttribute baru kelas dengan penyedia tag kustom.

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)

Parameter

providerType
Type

Jenis yang berisi metode yang menyediakan sekumpulan tag kustom untuk dicatat.

providerMethod
String

Nama metode pada jenis penyedia yang menghasilkan sekumpulan tag kustom untuk dicatat.

Pengecualian

providerMethod atau providerType adalah null.

providerMethod adalah string kosong atau hanya berisi spasi kosong.

Contoh

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

Keterangan

Anda dapat membuat metode Anda sendiri yang akan menghasilkan set tag yang tepat untuk dicatat untuk objek input tertentu.

Metode yang dirujuk oleh konstruktor ini harus non-generik, static, dan public, dan harus memiliki dua parameter:

  • Parameter pertama jenis ITagCollector.
  • Parameter kedua jenis T?, di mana T adalah jenis parameter metode pengelogan yang ingin Anda catat.

Berlaku untuk

Lihat juga