Bagikan melalui


CA1848: Gunakan delegasi LoggerMessage

Properti Nilai
ID Aturan CA1848
Judul Menggunakan delegasi LoggerMessage
Golongan Performa
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif
Diaktifkan secara default di .NET 8 Tidak

Penyebab

Penggunaan metode ekstensi pencatat, seperti LogInformation dan LogDebug.

Deskripsi aturan

Untuk skenario pengelogan berkinerja tinggi, gunakan LoggerMessage pola .

Cara memperbaiki pelanggaran

Gunakan LoggerMessage untuk memperbaiki pelanggaran aturan ini.

LoggerMessage memberikan keunggulan performa berikut daripada metode ekstensi Logger:

  • Metode ekstensi pencatat memerlukan jenis nilai "tinju" (mengonversi), seperti int, menjadi object. Pola menghindari LoggerMessage tinju dengan menggunakan bidang statis Action dan metode ekstensi dengan parameter yang sangat ditik.
  • Metode ekstensi pencatat harus mengurai templat pesan (string format bernama) setiap kali pesan log ditulis. LoggerMessage hanya memerlukan penguraian templat sekali ketika pesan ditentukan.

Kapan harus menekan peringatan

Jangan menyembunyikan peringatan dari aturan ini.

Baca juga