İçeriğe geç

c# NLog Kurulumu – MVC & Web Form

Geliştirdiğimiz projelerde bazı kullanıcı bazlı veya sistemsel hareketleri kayıt altına almak isteriz. Böylece öncelikle olası oluşabilecek hataları veya sistemsel hareketleri, değişiklikleri farkında olabiliriz. Log kayıtları küçük projelerde çok fazla ihtiyaç duyulmasa da geniş ölçekli projelerde izlemeyi oldukça kolaylaştırmaktadır. Log sistemde yapılan işlerin, hareketlerin ayak izine verilen isimdir. Log kaydı almak için kendi yazdığımız metotlarda veritabanı, dosyalama vb. yöntemlerle işlem sağlayabiliriz. Ancak yazı başlığımızda bahsettiğimiz üzere NLog sistemini incelemeye çalışacağız.

NLog Kurulumu

NLog kütüphanesini projemize dahil etmek için öncelikle Visual Studio ortamında projemizi açıyoruz. Üst menüde Tools > NuGet Package Manger > Managet NuGet Package For Solution kısmından Browse üzerinde NLog kelimesini aratarak arama sonucunda çıkan NLog seçeneğini projemize dahil ediyoruz. Aşağıdaki görselde gözüktüğü gibi.

NLog Install On Visual Studio

Bu menüden NLog kütüphanesini web projemize veya windows form projelerimize dahil edebiliriz. Örneğin bir kullanıcı girişi gerçekleştiren metodumuz olduğunu düşünelim. Hatalı kullanıcı girişlerinde projemizin bulunduğu dizindeki oluşturacağımız Log dosyasına bu hataları yazmasını isteyebiliriz. Bunun örneğini yapalım.

NLog kullanacağımız sayfalarda using bloğuna using NLog; şeklinde dahil etmeliyiz. Log kaydı yapacağımız kod bloğunda yeni bir NLog sınıfı oluşturuyoruz.

private static Logger Logger = NLog.LogManager.GetCurrentClassLogger();

NLog kütüphanemizde belirli hata ve bilgi seviyeleri (level) bulunmaktadır. Bunları da sizlerle paylaşayım.

Level Example – Hata Düzeyleri
Fatal Highest level: important stuff down
Error For example application crashes / exceptions.
Warn Incorrect behavior but the application can continue
Info Normal behavior like mail sent, user updated profile etc.
Debug Executed queries, user authenticated, session expired
Trace Begin method X, end method X etc

Üye girişi esnasında yanlış girişlerde ben error düzeyini kullanmak istiyorum. (Bu level sizin kararınıza göredir, makalenin ilerleyen kısmında daha net anlayacaksınız.)

Logger.Error(“Hatalı Giriş”);

Projemizin belirli kısımlarında kayıt işlemlerinde, giriş işlemlerinde vb. kritik noktalarda bu metotu kullarak hataları kaydedebiliriz.

NLog kütüphanemizin bir Config dosyası projenizde oluşacaktır. Gelen hataların dosyaya kayıt edilmesini istiyorsanız ilgili Config üzerinde file target girmemiz gerekiyor. Örneğin:

<target name=”LogsFile” xsi:type=”File”
fileName=”${basedir}/Log/${date:format=yyyy-MM-dd}.log”
layout=”${longdate} ${level:uppercase=true:padding=5} ${session} ${storeid} ${msisdn} – ${logger:shortName=true} – ${stackTrace} – ${message} ${exception:format=tostring}”
keepFileOpen=”true”
/>

*Projede ana dizinde Log isimli bir klasör oluşturmanız gerekebilir. (İzinlerle ilgili özel bir ayar yoksa genelde kendi oluşur.)

Projemizdeki Error seviyesindeki metotlarımızdan gelen hataları dosyaya yazdırmak için bu targeti ekledik. Rules kısmına ise bu leveli bildiren bir kural eklememiz gerekir.

<logger name=”*” levels=”Info,Debug,Warn,Error,Fatal,Trace” writeTo=”LogsFile” />

Bu örneğe göre levels”” kısmında yazan hata düzeylerini dosyamıza kaydedecektir.

NLog ile ilgili çok fazla spesifik ayar bulunmakta. Diğer opsiyonları incelemek için GitHub üzerinde bulunan projects kısmını incelemenizi öneririm. https://github.com/NLog/NLog/issues Asp.Net MVC üzerinde çalışmayan birkaç layout özelliği var yakın zamanda update geleceğini düşünüyorum.

Kurulum ve ayarlarla ilgili takıldığınız bir kısım olursa yorumlar, sosyal medya veya mail üzerinden ulaşabilirsiniz.

İlk Yorumu Siz Yapın

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir