Node.js
Özet - Günlükleme
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.
Örnek çözümü göster
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");
Kendini test et
-
Logger iskeleti hangi parçaları birleştirir?
createLogger + transports + format.json
- Yalnızca require
- createLogger, transport'lar ve format.json
- Yalnızca console.log
- Yalnızca info
Cevabı göster
createLogger, transport'lar ve format.json — createLogger + transports + format.json birleşir.
-
Aracı rolüne eşle
- createLogger
- Logger oluşturur
- transports
- Hedefleri belirler
- format.json
- JSON formatı verir
- logger.info
- Bilgi loglar
Sıradaki ders: dotenv