Sitenize giren veya sitenizde işlem yapan kullanıcıların hareketlerini kaydetmek çok önemlidir. Bu yüzden log dosyaları tutarız.
Bu yazıda log dosyalarını yerel olarak .log uzantılı dosya biçiminde tutacağız. Öncelikle log fonksiyonlarını yazacağımız class.log.php dosyasını oluşturuyoruz. Log tutacağımız zaman bu class’ı çağıracağız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php date_default_timezone_set('Europe/Istanbul'); class Log { public function add($text) { $data = date("d.m.Y") . " " . date("H:i:s") . " " . $text . PHP_EOL; $folder = "log/"; $logFileName = $folder . date("d-m-Y") . ".log"; if (!file_exists($folder)) { mkdir($folder); } if (!file_exists($logFileName)) { file_put_contents($logFileName, "\xEF\xBB\xBF"); } $ofile = fopen($logFileName, "a"); fwrite($ofile, $data); fclose($ofile); } } |
Kodu kısaca anlatayım. Kod öncelikle log klasörü oluşturuyor. Ve içerisine gün-ay-yıl.log şeklinde log dosyası oluşturuyor. Böylece her gün için farklı bir log dosyası oluşmuş olacak. O günkü logları o tarihli log dosyasına kaydediyor.
Örnek Kullanım
Öncelikle php dosyanıza require_once ile class.log.php dosyasını ekliyoruz. Ardından Log classından yeni bir obje oluşturuyoruz. Artık class içerisindeki add() fonksiyonunu kullanabiliriz.
1 2 3 4 5 |
<?php require_once "class.log.php"; $log = new Log(); $log->add("deneme log bu sekilde"); |
Örnek Log Dosyası
Log dosyalarınız şu şekilde görünecek:
1 2 3 4 |
19.09.2021 13:24:15 deneme log bu sekilde 19.09.2021 13:24:16 deneme log 19.09.2021 13:24:16 id: xxxxx kullanıcı giris yapti 19.09.2021 13:24:16 user: hakan siteye kayıt oldu |
Kaynak kodlarını aşağıdaki GitHub linkinden indirebilirsiniz.