Sobes.tech
Middle+

Sunucu tarafında küresel hataları nasıl yakalıyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Sunucu tarafında küresel hataları yakalamak için birkaç yaygın yaklaşım vardır:

  • Frameworkler/platformlar tarafından yerleşik mekanizmaların kullanımı: Çoğu sunucu tarafı framework (Node.js ile Express, Python ile Django/Flask, Ruby ile Rails vb.) yerleşik hata işleyicileri sağlar.

    // Express.js için örnek
    app.use((err, req, res, next) => {
      console.error(err.stack); // Hata kaydı
      res.status(500).send('Bir şeyler ters gitti!'); // İstemciye yanıt
    });
    
    # Flask için örnek
    @app.errorhandler(500)
    def internal_server_error(e):
        return "Bir şeyler ters gitti!", 500
    
  • İşlenmemiş istisnaları yakalama: Node.js gibi çalışma ortamlarında, unhandledRejection ve uncaughtException gibi küresel olaylara abone olarak, aksi takdirde süreç çökmesine neden olacak hataları yakalayabilirsiniz.

    // Node.js için örnek
    process.on('uncaughtException', (err) => {
      console.error('İşlenmemiş istisna:', err);
      // Burada bildirim gönderme veya düzgün kapatma gibi işlemler yapılabilir
      process.exit(1); // Hata ile sonlandırma
    });
    
    process.on('unhandledRejection', (reason, promise) => {
      console.error('İşlenmemiş red:', reason);
      // Burada günlük kaydı veya bildirim gönderme işlemleri yapılabilir
    });
    
  • Merkezi günlük kaydı: Hata ayrıntılarını ELK Stack, Sentry, Datadog gibi merkezi bir günlükleme sistemine göndererek analiz, bildirim ve izleme.

  • Ortam (middleware) kullanımı: İstekleri saran ve iç hataları yakalayan ara yazılım (middleware) oluşturma.

  • İzleme mekanizmalarının kullanımı: New Relic, Dynatrace veya AppDynamics gibi uygulama performans izleme (APM) araçları, hataları otomatik olarak yakalar ve toplar.