Hata Kayıt Sistemleri: Python, PHP ve ASP ile Uygulamalı Rehber
Hata kayıt sistemleri (log sistemleri), uygulama veya sistemlerdeki hataları ve önemli olayları izlemek için kullanılır. Geliştiriciler, sistem yöneticileri ve güvenlik uzmanları için hata kaydı tutmak, sorunları teşhis etmek, performans izlemek ve güvenlik açıklarını saptamak açısından kritik öneme sahiptir.
Hata Kayıt Sistemi Nedir?
Bir hata kayıt sistemi, yazılım uygulamalarında meydana gelen hataların, uyarıların ve diğer önemli olayların kaydedildiği bir sistemdir. Bu kayıtlar genellikle dosyalar, veritabanları veya merkezi log yönetim sistemlerinde tutulur. Hata kaydı tutmanın sağladığı faydalar:
1 - Hataların hızlı tespiti ve düzeltilmesi.
2 - Performans sorunlarının izlenmesi.
3 - Güvenlik ihlallerinin tespiti.
4 - Sistemdeki hataların tarihçesi.
5 - Hata kaydında genellikle zaman damgası, hata türü, mesaj ve ek bilgiler yer alır.
Python ile Hata Kayıt Sistemi
Python'da hata kaydı tutmak için logging modülü kullanılır. Bu modül, hata kaydını, bilgi mesajlarını, uyarıları ve kritik hataları kaydetmek için güçlü bir araçtır.
Python Hata Kayıt Sistemi
1import logging23Log yapılandırması45logging.basicConfig(filename='hatalar.log',6level=logging.DEBUG, # En düşük seviye: DEBUG7format='%(asctime)s - %(levelname)s - %(message)s')89try:101 / 0 # Hata oluşturuluyor (ZeroDivisionError)11except ZeroDivisionError as e:12logging.error(f"Hata oluştu: {e}")1314logging.info("Uygulama başarıyla başlatıldı.")15logging.warning("Bu bir uyarıdır.")Python Log Dosyasından Veri Okuma
1with open("hatalar.log", "r") as dosya:2loglar = dosya.readlines()3for log in loglar:4print(log.strip())PHP ile Hata Kayıt Sistemi
PHP'de hata kaydı tutmak için error_log() fonksiyonu kullanılır. Bu fonksiyonla hatalar dosyaya veya bir hata izleme servisine yönlendirilebilir.
PHP Hata Kayıt Sistemi
1<?php // Log dosyasına yazma error_log("Uygulama başlatıldı", 3, "hatalar.log"); // Hata kaydını log dosyasına yazma try { $result = 1 / 0; // Hata oluşturuluyor (Division by zero) } catch (Exception $e) { error_log("Hata oluştu: " . $e->getMessage(), 3, "hatalar.log"); } // Genel uyarı error_log("Bu bir uyarıdır", 3, "hatalar.log"); ?>PHP Log Dosyasını Okuma
1<?php $loglar = file("hatalar.log"); foreach ($loglar as $log) { echo $log . "<br>"; } ?>ASP (Classic ASP) ile Hata Kayıt Sistemi
Classic ASP, yerleşik bir hata kayıt fonksiyonu sunmasa da, dosya işlemleri ile kolayca hata kayıtları tutulabilir.
ASP Hata Kayıt Sistemi
1<%2On Error Resume Next ' Hataları yakala34' Hata oluştuğunda log dosyasına yaz5Dim hataMesaji6If Err.Number <> 0 Then7hataMesaji = Now() & " - Hata oluştu: " & Err.Description8Set fso = Server.CreateObject("Scripting.FileSystemObject")9Set dosya = fso.OpenTextFile(Server.MapPath("hatalar.log"), 8, True)10dosya.WriteLine(hataMesaji)11dosya.Close12Err.Clear()13End If1415' Bilgi mesajı16Set fso = Server.CreateObject("Scripting.FileSystemObject")17Set dosya = fso.OpenTextFile(Server.MapPath("hatalar.log"), 8, True)18dosya.WriteLine(Now() & " - Uygulama başlatıldı")19dosya.Close20%>Hata Kayıt Sisteminin Temel Bileşenleri
Bir hata kayıt sistemi kurarken dikkat edilmesi gereken bazı temel bileşenler şunlardır:
1. Log Seviyeleri
DEBUG: Detaylı hata ayıklama bilgisi, genellikle geliştirme sürecinde kullanılır.
INFO: Genel bilgi mesajları, uygulama başlangıcı veya önemli işlem başarıları.
WARNING: Dikkate alınması gereken durumlar, ancak sistemin çalışmasını etkilemeyen durumlar.
ERROR: Uygulamanın beklenmedik şekilde çalışmasını engelleyen hatalar.
CRITICAL: Uygulamanın çalışmasını tamamen durduran ciddi hatalar.
2. Log Formatı
Tarih/Saat: Olayın ne zaman gerçekleştiği.
Hata Seviyesi: Hata türü (DEBUG, ERROR, vs.).
Mesaj: Hata açıklaması veya bilgi mesajı.
Stack Trace: Hata oluştuğunda çağrı yığını (gelişmiş hata ayıklama).
3. Log Dosyası Yönetimi
Log dosyalarının büyüklüğü zamanla artabilir. Bu nedenle:
1 - Günlük veya haftalık olarak döndürme.
2 - Dosyaların sıkıştırılması.
3 - Eski logların arşivlenmesi veya silinmesi.
0 yorum