Winston
- Node.js kursu
- İleri seviye
- Ders 61/83
- 5 dk
Winston ile yapılandırılabilir günlükleme öğrenirsin.
Winston nedir?
Winston, Node.js için en popüler günlükleme (logging) kütüphanesidir. Konsol çıktısının ötesinde: dosyaya yazma, log seviyeleri, zaman damgası ve biçimlendirme sunar. Üretim sistemlerinin neredeyse standardıdır.
Winston yerleşik değildir; npm install winston ile yüklersin. Sonra const winston = require("winston"); ile içe aktarır, winston.createLogger({ ... }) ile bir logger oluşturursun. console.log basit ve geçicidir; Winston ise kalıcı, yapılandırılabilir ve seviyelidir. Üretimde logları dosyaya, syslog'a veya bir merkezi log sunucusuna göndermek istersin. Winston'ın transports kavramı, logların nereye gideceğini belirler: konsol, dosya, HTTP üç noktası. Bu grupta Winston'ın temel araçlarını öğreneceksin.
createLogger ile logger oluşturma
Winston'da winston.createLogger({ ... }) ile logger oluşturursun. Yapılandırma; log seviyeleri, format ve transport'ları içerir. En basit haliyle sadece level ve transports verirsin.
Örnek: const logger = winston.createLogger({ level: "info", transports: [new winston.transports.Console()] });. Bu logger info ve üzeri logları konsola yazar. logger.info("Sunucu başladı") ile loglarsın. Winston'ın varsayılan seviyeleri şöyledir: error, warn, info, http, verbose, debug, silly. level ayarı hangi seviyenin ve üzeri logların yazılacağını belirler. Winston, üretim ve geliştirme ortamları için ayrı yapılandırmaya izin verir.
Uygulama Winston'ı içe aktar
winston modülünü require ile içe aktar. console.log ile "Winston hazır" yaz.
Başlangıç kodu
// winston modülünü içe aktar
// buraya yaz
// "Winston hazır" yazdır
// buraya yazÖrnek çözüm
const winston = require("winston");
console.log("Winston hazır");Beklenen çıktı
Winston hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Winston nasıl içe aktarılır?
const winston = require("winston")- const winston = require("winston") Doğru cevap
- import winston from "log"
- const winston = new Winston()
- const winston = require("console")
Açıklama: Winston require('winston') ile içe aktarılır.
2 createLogger çağrısını tamamla
const logger = winston.____({ level: "info" });
const logger = winston.createLogger({ level: "info" });
Açıklama: winston.createLogger ile logger oluşturulur.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
winston |
Kütüphane |
createLogger |
Logger oluşturur |
logger.info |
Bilgi loglar |
transports |
Logların hedefi |