CodeBlanks Logo Icon CodeBlanks

Log levels

Log seviyeleri (error, warn, info, debug) öğrenirsin.

Log levels

Log seviyeleri, logun önem derecesini belirtir. Winston'ın varsayılan seviyeleri (önem sırasına göre): error, warn, info, http, verbose, debug, silly. error en yüksek, silly en düşük önceliktir.

Logger'ın level ayarı bir eşik belirler: yalnızca bu seviye ve üzeri loglar yazılır. Örnek: level: "info" ayarı info, warn ve error loglarını yazar; debug ve silly loglarını atlar. Üretimde genelde info, geliştirmede debug kullanılır. Bu sayede geliştirmede ayrıntılı loglar görürsün, üretimde ise yalnızca önemli loglar kalır. Her seviye için ayrı transport da tanımlanabilir: error logları dosyaya, info logları konsola gibi.

Hata ve uyarı logları

Hatalar için logger.error(...), uyarılar için logger.warn(...) kullanılır. Hata logları genelde ayrı bir dosyaya yazılır; çünkü bunlar sorun teşhisinde kullanılır.

Örnek: logger.error("Veritabanı bağlantısı kurulamadı"); logger.warn("Bellek kullanımı yüksek");. error kritik bir sorundur; warn ise dikkat çekici ama sistemin çalışmasını engellemeyen bir durumdur. Winston, her seviye için farklı dosya verebilir: new winston.transports.File({ filename: "error.log", level: "error" }). Böylece hatalar error.log'da, genel loglar app.log'da toplanır. Bu ayrım, hata teşhisini hızlandırır. Üretimde error logları bir alarm sistemine de yönlendirilebilir.

Uygulama info log yaz

winston modülünü içe aktar. winston.createLogger({ level: "info", transports: [new winston.transports.Console()] }) ile logger oluştur. logger.info("Çalışıyor") ile log yaz.

Başlangıç kodu

index.js
// winston içe aktar ve logger oluştur
// buraya yaz

// info log yaz
// buraya yaz

Örnek çözüm

index.js
const winston = require("winston");
const logger = winston.createLogger({
  level: "info",
  transports: [new winston.transports.Console()]
});
logger.info("Çalışıyor");

Beklenen çıktı

Çalışıyor

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 info log çağrısını tamamla

Soru
logger.____("Sunucu başladı");
Cevap
logger.info("Sunucu başladı");

Açıklama: logger.info ile bilgi loglanır.

2 Seviyeyi anlamına eşle

Kavram Anlamı
error Kritik hata
warn Uyarı
info Bilgi
debug Hata ayıklama

3 Hangi seviye en yüksek önceliğe sahiptir?

index.js
logger.error('...')
  • debug
  • error Doğru cevap
  • info
  • silly

Açıklama: error en yüksek öncelikli seviyedir.

İleri seviye bölümündeki tüm dersler