Log (Kayıt) Tutma Mantığı: Python, PHP ve ASP ile Uygulamalı Rehber

Log (kayıt) tutma, yazılım geliştirme sürecinin önemli bir parçasıdır. Hataların tespiti, uygulamanın performansının izlenmesi, kullanıcı etkinliklerinin kaydedilmesi ve güvenlik açılarının izlenmesi için loglar vazgeçilmezdir. Bu makalede log tutma mantığını Python, PHP ve ASP örnekleriyle inceleyeceğiz.

Log tutma, sistem hatalarını hızlıca tespit etmek ve kullanıcı aktivitelerini izlemek için önemli bir tekniktir. Her programda düzgün bir loglama sistemi kurmak gereklidir.

Log (Kayıt) Nedir?

Log, bir uygulamanın veya sistemin işleyişine dair kayıtları içeren bir dosyadır. Bu kayıtlar genellikle zaman damgası, hata mesajları, bilgi mesajları, kullanıcı eylemleri ve sistem durumu gibi bilgileri içerir.

Örnek bir log kaydı:

12026-01-16 12:30:45 [INFO] Kullanıcı giriş yaptı: user123
22026-01-16 12:31:00 [ERROR] Veritabanı bağlantısı başarısız: connection_timeout

Python ile Log Tutma

Python'da loglama işlemleri için logging modülü kullanılır. Bu modül, hataları, uyarıları, bilgi mesajlarını ve diğer logları dosyaya kaydetmeye olanak tanır.

Python Log Yazma

1import logging
2
3# Log dosyasını ayarla
4logging.basicConfig(filename='app.log',
5level=logging.INFO,
6format='%(asctime)s - %(levelname)s - %(message)s')
7
8# Bilgi logu
9logging.info("Uygulama başlatıldı")
10
11# Hata logu
12try:
131 / 0 # Hata oluşturuluyor
14except ZeroDivisionError as e:
15logging.error(f"Hata: {e}")
basicConfig fonksiyonu ile log dosyasını ayarlayabilir ve log seviyesini belirleyebilirsiniz. level=logging.INFO sadece info, uyarı ve hata mesajlarını kaydeder.

Python Log Okuma

Log dosyasındaki içerikleri okumak için Python’da dosya okuma işlemi yapabilirsiniz.

1with open("app.log", "r") as dosya:
2loglar = dosya.readlines()
3for log in loglar:
4print(log.strip())

PHP ile Log Tutma

PHP’de loglama işlemleri için genellikle error_log() fonksiyonu kullanılır. Ayrıca, özel log dosyaları oluşturmak da mümkündür.

PHP Log Yazma

1<?php
2// Genel hata logu
3error_log("Uygulama başlatıldı", 3, "app.log");
4
5// Hata logu
6try {
7$result = 1 / 0; // Hata oluşturuluyor
8} catch (Exception $e) {
9error_log("Hata: " . $e->getMessage(), 3, "app.log");
10}
11?>
PHP’de error_log() fonksiyonu, logları dosyaya yazmanın en basit yoludur. 3 parametresi, logun belirtilen dosyaya yazılacağını gösterir.

PHP Log Okuma

PHP’de log dosyasını okumak için dosya okuma fonksiyonlarını kullanabilirsiniz.

1<?php $loglar = file("app.log"); foreach ($loglar as $log) { echo $log . "<br>"; } ?>

ASP (Classic ASP) ile Log Tutma

Classic ASP, yerleşik bir loglama sistemi sunmaz, ancak basit dosya işlemleri ile loglama yapılabilir.

ASP Log Yazma

1<%
2Dim dosya, logMesaji
3logMesaji = Now() & " - Kullanıcı giriş yaptı: user123"
4
5Set fso = Server.CreateObject("Scripting.FileSystemObject")
6Set dosya = fso.OpenTextFile(Server.MapPath("app.log"), 8, True)
7dosya.WriteLine(logMesaji)
8dosya.Close
9%>
ASP’de 8 parametresi, dosyaya ekleme (append) modunda yazılmasını sağlar. Bu, her yeni log kaydının mevcut log dosyasına eklenmesini sağlar.

ASP Log Okuma

1<%
2Set fso = Server.CreateObject("Scripting.FileSystemObject")
3Set dosya = fso.OpenTextFile(Server.MapPath("app.log"), 1)
4Dim logSatiri
5Do While Not dosya.AtEndOfStream
6logSatiri = dosya.ReadLine
7Response.Write(logSatiri & "<br>")
8Loop
9dosya.Close
10%>

Log (Kayıt) Seviyeleri

Loglama yaparken farklı seviyeler kullanılabilir. Bu seviyeler, kaydın önem derecesine göre sınıflandırılabilir:

DEBUG: Detaylı hata ayıklama bilgileri.

INFO: Genel bilgi mesajları (örneğin, uygulama başlatıldığında).

WARNING: Potansiyel problemler veya dikkat edilmesi gereken durumlar.

ERROR: Hata mesajları.

CRITICAL: Uygulamanın çalışmasını engelleyen kritik hatalar.

Log seviyelerinin doğru kullanımı, log dosyasının okunabilirliğini artırır ve hataların daha kolay tespit edilmesini sağlar.




konu hakkında tepkinizi verebilirsiniz