DEV Community

MustafaSamedYeyin
MustafaSamedYeyin

Posted on

3

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.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More