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 9 | No |
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
, menjadiobject
. 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.
Lihat juga
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.