Log4Net’i Sadece Info
Seviyesinde Mesajları Günlüklemek Üzere Yapılandırma Nasıl Yapılır
Günlükleme, yazılım geliştirmede önemli bir parçadır ve geliştiricilerin uygulamaları verimli bir şekilde hata ayıklamasına yardımcı olur. Ancak, hangi bilgilerin günlüğe kaydedileceğini kontrol etmek zor bir iş olabilir. Eğer Log4Net’i sadece Info
seviyesinde mesajlar kaydedecek şekilde yapılandırmanın bir yolunu arıyorsanız, doğru yerdesiniz! Bu blog yazısında, bunu başarmak için gereken adımları Log4Net’in yeteneklerini kullanarak size göstereceğiz.
Problem: Sadece Info Günlükleri İsteme
Log4Net’i Info
seviyesinde günlüğe kaydedecek şekilde yapılandırmış olabilirsiniz, ancak yine de farklı seviyelerdeki (örneğin Debug
veya Warn
) mesajların kaydedildiğini görebilirsiniz. Bu da şu soruyu akla getirir: Log4Net’i sadece Info
seviyesinde günlüklere sınırlamak mümkün mü? Cevap evet! Doğru yapılandırma ile gereksiz günlükleri filtreleyebilir ve temiz bir günlükleme çıktısı elde edebilirsiniz.
Log4Net Yapılandırmasını Anlamak
Log4Net’i etkili bir şekilde yapılandırmak için, yapısının anlaşılması önemlidir. Günlükleme yapılandırması genellikle XML formatında belirtilir. İşte sahip olabileceğiniz bir örnek yapılandırma:
<logger name="BrokerCollection.Model.XmlDocumentCreationTask">
<appender-ref ref="SubmissionAppender"/>
<level value="Info" />
</logger>
Bu kod parçasında, günlüğe alma seviyesinin Info
olarak ayarlandığını görebilirsiniz, ancak bu tek başına bu seviye altında kalan günlükleri filtrelemez. Sadece Info
kayıtlarını elde etme hedefinize ulaşmak için bir appender içine bir filtre eklememiz gerekecek.
Çözüm: Seviye Aralığı Filtre Kullanımı
Log4Net’i sadece Info
seviyesindeki mesajları günlüğe kaydedecek şekilde sınırlamak için, appender yapılandırması içinde bir LevelRangeFilter
uygulayabilirsiniz. İşte bunu nasıl ayarlayabileceğiniz:
Örnek Yapılandırma
Appender tanımınızı şu şekilde değiştirebilirsiniz:
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="INFO"/>
</filter>
...
</appender>
Bu yapılandırmada:
- LevelMin: Kaydetmek istediğiniz mesajların minimum seviyesini belirtir (bizim durumumuzda
INFO
). - LevelMax: Kaydetmek istediğiniz mesajların maksimum seviyesini belirtir (sadece bu kayıtların yapılmasını sağlamak için yine
INFO
olarak ayarlanır).
Uygulama Adımları
- Log4Net yapılandırma dosyanızı bulun: Bu genellikle appender ve loggerların tanımlandığı bir XML dosyasıdır.
- Kullandığınız appender’ı belirleyin: Doğru appender’ı değiştirdiğinizden emin olun.
- Filtreyi ekleyin: Yukarıda gösterildiği gibi
LevelRangeFilter
kullanarak günlüklemeyi sadeceInfo
seviyesi mesajlarla sınırlayın. - Yapılandırmayı test edin: Farklı seviyelerde günlükler oluşturarak sadece
Info
günlüklerinin kaydedildiğinden emin olun.
Sonuç
Log4Net yapılandırmanızda LevelRangeFilter
‘ı kullanarak, günlükleme çıktınızı sadece ilgili ve bilgilendirici mesajları gösterecek şekilde etkili bir şekilde sınırlayabilirsiniz. Bu, özellikle aşırı günlüklemenin karmaşa ve kafa karışıklığına yol açabileceği büyük uygulamalarda günlükleri yönetmeyi kolaylaştırır.
Artık bu yapılandırmayı Log4Net kurulumunuza uygulayabilirsiniz. İyi günlüklemeler!