Özet - Günlükleme
- Node.js kursu
- İleri seviye
- Ders 66/83
- 5 dk
Winston, levels ve structured'ı birleştirerek bir log sistemi yazarsın.
Özet - Günlükleme
Bu grupta Node.js'te günlüklemenin temel araçlarını öğrendin: winston.createLogger ile logger oluşturmak, log seviyeleriyle (error, warn, info) öncelik belirlemek, transport'larla logları farklı hedeflere yazmak, yapısal loglama için format.json() kullanmak ve yüksek performans için Pino'yu tanımak.
Şimdi bunları birleştirip küçük bir logger iskeleti kuracaksın. İskelet hem konsola hem dosyaya JSON formatında log yazacak. Bu mini görev, günlükleme araçlarının nasıl birleştiğini gösterir.
Logger tasarımı
Bir üretim logger iskeleti şöyledir: createLogger ile logger, transports ile hem konsol hem dosya hedefi, format.json ile JSON formatı. level: "info" ile eşik belirlenir.
Akış: const logger = winston.createLogger({ level: "info", format: winston.format.json(), transports: [new winston.transports.Console(), new winston.transports.File({ filename: "app.log" })] });. Bu logger her logu JSON olarak konsola ve app.log dosyasına yazar. Üretimde error seviyesi için ayrı dosya, info seviyesi için ayrı dosya eklenebilir. Bu iskeletin üzerine zaman damgası, log döndürme ve merkezi log sunucusu gönderimi eklenebilir.
Uygulama Üretim logger iskeletini kur
winston içe aktar. winston.createLogger({ level: "info", format: winston.format.json(), transports: [new winston.transports.Console(), new winston.transports.File({ filename: "app.log" })] }) ile logger oluştur. logger.info("Sistem hazır") 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",
format: winston.format.json(),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: "app.log" })
]
});
logger.info("Sistem hazır");Beklenen çıktı
Sistem hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Logger iskeleti hangi parçaları birleştirir?
createLogger + transports + format.json- Yalnızca require
- createLogger, transport'lar ve format.json Doğru cevap
- Yalnızca console.log
- Yalnızca info
Açıklama: createLogger + transports + format.json birleşir.
2 Aracı rolüne eşle
| Kavram | Anlamı |
|---|---|
createLogger |
Logger oluşturur |
transports |
Hedefleri belirler |
format.json |
JSON formatı verir |
logger.info |
Bilgi loglar |