Log4Net Kullanımı

Husamettin Elalmis

Merhaba arkadaşlar, bu yazıda sizlere .net platformlarında eski zamanlardan günümüze süregelen ve hemen hemen tüm projelerde kullanılabilen Log4Net kütüphanesinden bahsecedeğim

Log4Net Nedir?

  • Log4Net, farklı ortamlara log kaydı tutmak için kullanılan 3th parti bir componentdir

  • Şu ortamlara ilişkin logların tutulabilmesini sağlar

    • File log

    • EventViewer log

    • Console log

    • Smtp log

    • MSSQL db log

    • … diğerleri

  • Not: bu yapılara appender diyoruz

  • Projeye kurmak için "install-package log4net" console manager ortamında çalıştırılır son version kurulmuş olur (dll referansı olarak eklenecektir)

Nerelerde Kullanılır?

  • Hızlıca bişeylerin logunu alayım, log ortamım her an değişebilir diyorsanız kullanılması uygundur

  • Not: Yok ben bunu kullanmayacam kendim yazacam diyorsanız o da uygundur

Önemli Notlar

  • Projenin admin olarak çalıştırılması gerekmektedir

  • App.config dosyası doğru configure edilmelidir

  • İçerisinde appender blokları bulunur

  • Log mesajının format conversion olarak pattern şeklinde tanımlanabilir

  • Birçok pattern türü içermektedir

  • AssemblyInfo.cs dosyasının manuel elle projeye eklenmesi gerekmektedir

  • Bu dosya projede normalde yoktur, log4net'in log kayıtlarının devreye alınması için gereklidir

  • ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF şeklinde log methodlarını barındırmaktadır

  • Loglamayı durmak için OFF kullanılır

  • Tüm girdileri kabul etmek için ALL kullanılır

AssemblyInfo.cs

App.config

  • ConsoleAppender çıktısı

  • FileAppender çıktısı

  • MSSQLAppender çıktısı

  • EventViewerAppender çıktısı

Sonuç

  • Log4Net tercihe bağlı olarak kullanılabilir

  • Genellikle aşağıdaki yapıların logları için kullanılır

    • File log

    • Db log

    • EventViewer log

    • Console log (en çok tercih edilen bu oluyor genellikle)

  • Basit anlamda loglama işlemlerinde kullanılabilir

    • Şarta bağlı complex loglamalar için çok uygun değil

  • App.config configurasyon kısmı biraz meşakkatli.

  • Bizim projelerde tercihe bağlı olarak sade haliyle kullanılabilir, detaylı işlemler olursa custom kendi loglama mekanizmalarının yazılması uygun olur.

  • Aynı anda tüm log ortamlarına log basılabilir (file, db, eventviewer vb.)

Saygılarımla,

Hüsamettin ELALMIŞ – 12.08.2021

[email protected]

Last updated