Node.js
Winston
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.
Örnek çözümü göster
const winston = require("winston");
console.log("Winston hazır");
Kendini test et
-
Winston nasıl içe aktarılır?
const winston = require("winston")
- const winston = require("winston")
- import winston from "log"
- const winston = new Winston()
- const winston = require("console")
Cevabı göster
const winston = require("winston") — Winston require('winston') ile içe aktarılır.
-
createLogger çağrısını tamamla
const logger = winston.____({ level: "info" });
Cevabı göster
const logger = winston.createLogger({ level: "info" });
-
Parçayı rolüne eşle
- winston
- Kütüphane
- createLogger
- Logger oluşturur
- logger.info
- Bilgi loglar
- transports
- Logların hedefi
Sıradaki ders: Log levels