Fastify.js Logging ile Hızlı ve Etkili Kayıt


Fastify.js Logging ile Hızlı ve Etkili Kayıt

Fastify.js Logging Nedir?

Modern web uygulamalarında hız ve verimlilik büyük önem taşır. Fastify.js logging, Node.js tabanlı Fastify framework’ünde uygulama günlüklerini yönetmenin güçlü ve pratik bir yoludur. Varsayılan olarak Pino logger’ı ile entegre çalışan Fastify, yüksek performanslı ve yapılandırılabilir loglama desteğiyle öne çıkar.

Loglar, uygulamanızda hata ayıklamadan performans analizine, güvenlik denetimlerinden kullanıcı aktivitelerinin izlenmesine kadar birçok alanda hayat kurtarıcıdır. Doğru yapılandırılmayan bir log sistemi, kritik bilgileri kaçırmanıza veya gereksiz veri kalabalığıyla uğraşmanıza sebep olabilir. Bu yazıda, Fastify.js logging konusuna dair temel bilgiler, yapılandırma ipuçları ve örnek kodlarla uygulamalı anlatım bulacaksınız.

Fastify.js, logging işlemlerini hızlı, JSON tabanlı ve detaylı olarak sunar. Hem yerleşik log seviyelerini hem de isteyenler için özelleştirilebilir log formatlarını kolaylıkla destekler.

Fastify.js Logging Özellikleri

Varsayılan Logging Kullanımı

Fastify kurulumunda varsayılan logger Pino’dur. Loglama seviyelerini belirleyebilir ve özelleştirilmiş çıktılar alabilirsiniz. Aşağıdaki örnek, Fastify ile loglamanın nasıl etkinleştirileceğini gösteriyor:

const fastify = require('fastify')({
  logger: true
});

fastify.get('/', async (request, reply) => {
  fastify.log.info('Ana sayfa endpointi çağrıldı!');
  return { hello: 'dünya' };
});

fastify.listen({ port: 3000 }, (err, address) => {
  if (err) {
    fastify.log.error(err);
    process.exit(1);
  }
  fastify.log.info(`Sunucu ${address} üzerinde başlatıldı.`);
});

Log Seviyelerini Özelleştirme

Fastify.js logging ile farklı log seviyeleri kullanabilirsiniz: fatal, error, warn, info, debug, trace gibi. Örneğin, sadece hata ve uyarıları kaydetmek için log seviyesi ayarlayabilirsiniz:

const fastify = require('fastify')({
  logger: {
    level: 'warn',
    prettyPrint: true // Geliştirme ortamı için okunabilir çıktı
  }
});

Gelişmiş Logging ve Eklenti Kullanımı

Pino’nun tüm özellikleri Fastify ile entegre olduğu için log formatını değiştirmek ya da belirli çıktı dosyalarına yönlendirmek mümkündür. Hatta pino-pretty gibi eklentilerle logları daha insan okunur hale getirebilirsiniz:

npm install pino-pretty
const fastify = require('fastify')({
  logger: {
    transport: {
      target: 'pino-pretty'
    }
  }
});

Sonuç: Fastify.js Logging ile Verimli Uygulamalar

Fastify.js logging ile uygulamalarınızda güvenli, hızlı ve detaylı kayıtlar oluşturmak oldukça kolaydır. Hangi seviyede ve hangi formatta log tutmak istediğinize dair esnek ayarlamalarla, hem geliştirme hem de canlı ortamda sorunsuz takip yapabilirsiniz. Doğru loglama stratejisi sayesinde, hataları hızlıca bulabilir, uygulamanızın performansına dair net gözlem elde edebilirsiniz.