Blog Emka

Portal tutorial linux, pemrograman sistem informasi, computer security & informasi santri Indonesia

PHP

Belajar PHP: Membuat Aplikasi Logging (pencatat) Aktivitas

Pencatatan aktivitas sistem bagi script/software kita sangat diperlukan untuk mengetahui apapun informasi dari tiap eksekusi skrip PHP yang telah dibuat. Pencatatan atau Logging ini terutama sangat perlu untuk aplikasi Sistem Informasi. Beberapa sistem informasi yang pernah saya kerjakan misalnya melakukan pencatatan tiap aksi yang dilakukan oleh pengguna sehingga mudah dilacak apa saja yang mereka lakukan dan mereka dapatkan.

Ada beberapa teknik yang bisa digunakan, antara lain: pencatatan aksi ke database, dan pencatatan aksi ke file log. Sudah tentu pencatatan aksi ke database adalah teknik yang paling mudah dilakukan dan dikelola. Untuk menambah catatan, tinggal melakukan query insert ke SQL, dan untuk membacanya tinggal gunakan query select. Dari pengalaman saya, teknik ini punya kekurangan besar yaitu pemborosan trafik akses database dan storage database (bisa jutaan baris per bulan). Untuk sebuah sistem informasi akademik misalnya, pada hari-hari sibuk, ratusan aksi bisa dicatat pada database dan sibuknya bisa memaksa engine database bekerja keras.

Teknik kedua yang akan kita bahas disini adalah teknik pencatatan ke file log. File ini hanyalah file biasa dan bisa dibaca dengan pelbagai software, tak perlu engine database. Berikut adalah contoh teknik pencatatan ke file.

<?php
//definisikan nama file log, berubah tiap bulannya
$_logfilename = "log_".date("Y-m"); //nama log: log_2011-02

// jika file log belum ada, buat dulu
if(!file_exists($_logfilename)){
    $_logfilehandler = fopen($_logfilename,'w'); #buat file dengan akses tulis penuh
    fwrite($_logfilehandler, "/* File log untuk Sistem Informasi Akademik */\n"); #tulis header untuk file log, jika perlu
    fclose($_logfilehandler);
}else{
    $_logfilehandler = fopen($_logfilename,'a'); #akses file dengan modus buka/tulis
}

// misalnya untuk aksi A
fwrite($_logfilehandler,'User X melakukan aksi A');
fclose($_logfilehandler);
?>

Contoh diatas bisa dikembangkan untuk beberapa trik kecil misalnya memisah log file berdasarkan keperluan, misalnya mencatat eksekusi skrip dengan parameter/argument dan kecepatannya, mencatat aksi pengguna dll.

12 Comments

  1. ham

    kok error bos… cara pakenya gimana?

  2. budi

    saya juga coba tapi tdk bisa sama error di fle 6

    • budi

      di line 6 knpa tu ?? help me

      • admin

        oops, kayanya salah nulis di source blog ini, file_exist harusnya file_exists (tambah huruf s) doang.

        sekarang source yang diblog seharusnya dah bener, đŸ˜€

  3. penempatannya dimna Gan?
    dan baca lognya?

    • Luthfi Emka

      rekomendasi saya sih dijadiin function trus dicatet disetiap kali ada hal yang perlu. bacanya bisa dengan memparsing file tersebut, tidak dicantumkan di tutorial diatas memang.

  4. maaf maz ane masih gagal paham bisa tolong di jelasin?? ini log untuk recird login kan?? nah ane mau pake buat pencarian log activity kaya gmn ya ane mash gagal paham thx before

    • Ifhtul Emka

      sebenarnya ngga cuma catet login saja. sederhananya, semua aktivitas user (klik link atau klik menu) semua di catet. untuk nyatet gimana caranya? ya bikin fungsi php untuk insert aktivitasnya ke tabel database yg kita pengen

Leave a Reply

Theme by Anders Norén

%d bloggers like this: