Log levels
- Node.js kursu
- İleri seviye
- Ders 62/83
- 5 dk
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
// winston içe aktar ve logger oluştur
// buraya yaz
// info log yaz
// buraya yazÖrnek çözüm
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
logger.____("Sunucu başladı");
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?
logger.error('...')- debug
- error Doğru cevap
- info
- silly
Açıklama: error en yüksek öncelikli seviyedir.