DEV Community

MustafaSamedYeyin
MustafaSamedYeyin

Posted on

Asp.net core Logging Log Level'lara Giriş.

Log Level'leri ne işe yarar ?

Uygulamamızda logları önem sırasına göre koymamızı sağlar, yani örneğin : log mesajının uyarı mesajını olduğunu söylemek istersek Warnig veririz. Eğer uygulama kritik bir hata meydana geldiyse Critical mesajını veririz.

Log level'leri nelerdir, kaç tanedir ?

alt text

7 tane log level'vardır.

Peki loglama nasıl yapılır ?

1.) Asp.net core Mvc projesi oluşturun.

2.) HomeController'ın Index action'ını aşağıdaki logları ekleyelim :

 _logger.LogTrace("0"); _logger.LogDebug("1"); _logger.LogInformation("2"); _logger.LogWarning("3"); _logger.LogError("4"); _logger.LogCritical("5"); 
Enter fullscreen mode Exit fullscreen mode

HomeController aşağıdakine benzer olmalıdır.

alt text

3.) Asp.net core Mvc uygulamanızı dotnet run ile ayağı kaldırın. Log'ları aşağıdaki gibi gözükecektir :

alt text

Gördüğünüz üzere Warnig, Error ve Critical için mesaj gözükse de LogInformation, LogDebug, LogTrace metotlarını mesajları gözükmedi bunun sebebi : Development ortamında olduğumuz için appsettings.Development.json dosyasında configuration ayarlarını düzeltmemiz gerekecek.

4.) Default olarak gelen appsettings.Development.json içeriği aşağıdaki gibidir.

{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } } } 
Enter fullscreen mode Exit fullscreen mode

Gördüğünüz üzere LogLevel'i "Default" olarak "Information" yazıyor. Yani bizim sadece Information ve üstü log'ları görmemizi sağlıyor bu configuration.

Eğer appsettings.Development.json'ı aşadaki gibi değiştirirsek:

{ "Logging": { "LogLevel": { "Default": "Debug", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } } } 
Enter fullscreen mode Exit fullscreen mode

Gördüğünüz üzere "Default" değerini "Debug" olarak ayarladım.

dotnet run ile uygulamayı ayağı kaldırırsak, Debug ve üstü bütün log'ları görürüz, yani :

alt text

Ödev :

"Default": "...", 
Enter fullscreen mode Exit fullscreen mode

yukarıdaki "..." adlı yerlere : Trace, Debug, Information, Warning, Error, Critical değerlerini deneyerek uygulamanızı ayağa kaldırıp inceleyiniz.

Bir dahaki yazımda görüşmek üzere.

En iyi dileklerim ile.

Mustafa Samed Yeyin.

Top comments (0)