CA1848: LoggerMessage temsilcilerini kullanma

Özellik Değer
Kural Kimliği CA1848
Başlık LoggerMessage temsilcilerini kullanma
Kategori Performans
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan
.NET 8'de varsayılan olarak etkin Hayır

Neden

ve LogDebuggibi LogInformation günlükçü uzantısı yöntemlerinin kullanımı.

Kural açıklaması

Yüksek performanslı günlük senaryoları için deseni LoggerMessage kullanın.

İhlalleri düzeltme

Bu kuralın ihlallerini düzeltmek için kullanın LoggerMessage .

LoggerMessage Logger uzantısı yöntemlerine göre aşağıdaki performans avantajlarını sağlar:

  • Günlükçü uzantısı yöntemleri, gibi int"boxing" (dönüştürme) değer türlerini içine gerektirir object. Desen, LoggerMessage kesin olarak yazılan parametrelerle statik Action alanlar ve uzantı yöntemleri kullanarak kutulama yapmaktan kaçınır.
  • Günlükçü uzantısı yöntemleri, günlük iletisi her yazıldıktan sonra ileti şablonunu (adlandırılmış biçim dizesi) ayrıştırmalıdır. LoggerMessage bir şablonun yalnızca ileti tanımlandığında ayrıştırılması gerekir.

Uyarıların ne zaman bastırılması gerekiyor?

Bu kuraldan uyarıyı bastırmayın.

Ayrıca bkz.