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,
unhandledRejectionveuncaughtExceptiongibi 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.