tutorial membuat aktifitas log

bagaimana membuat aktifitas log dengan data lognya di simpan pada DB

avatar arif90
@arif90

176 Kontribusi 16 Poin

Diperbarui 7 tahun yang lalu

2 Jawaban:

Buat kelas Logger, tanggung jawabnya menginsert data log kedalam sebuah tabel yang berisi history log, misalkan namanya 'activity_log'.


class Logger {
   public function __construct ($database) {
      $this->database = database; // koneksi dan query ke database
      $this->table_name = 'activity_log'; // nama tabel
   }
   public function record ($activity_name, $data) { //method untuk merekam aktivitas

      $toRecord = array();
      $toRecord['name'] = $activity_name;
      $toRecord['data'] = json_encode($data);
      $toRecord['datecreated'] = date("Y-m-d h:i:s");

      $result = $this->database->insert($this->table_name, $toRecord); // simpan data ke tabel

       if(!$result):
          return false;
       endif;
       return $result;

   }
}

Ini desain table nya


CREATE TABLE activity_log (`id` int, `name` varchar(255), `data` TEXT, `datecreated` DATETIME);


misalkan terdapat model untuk menambahkan data buku,


class BookModel {

  public function __construct ($database, $logger) {

     $this->database = $database; // koneksi dan query ke database
     $this->logger = $logger; // objek dari class Logger untuk merekam aktivitas
     $this->table_name = 'book';

  }
  public function add ($nama, $halaman, $author) { // method untuk menambah kan buku

     $toInsert = array();
     $toInsert['nama'] = $nama;
     $toInsert['halaman'] = $halaman;
     $toInsert['author'] = $author;

     $flag = $this->database->insert('book', $toInsert); // simpan buku

     $this->logger->record('tambah buku', array('name' => $nama)); // rekam aktivitas penambahan buku

     return ($flag)? $flag: false;

  }

}

jadi pada saat si class BookModel dibuat menjadi Objek, dan dipanggil method 'add' - nya, maka tabel activity_log juga akan diberitahu bahwa ada penambahan buku dari Objek BookModel.


$bookm = new BookModel($database, $logger); // buat objek book model

$bookm->add('belajar javascript sampai dewa', '300', 'Brendan Eich'); // simpan data buku, dan table activity log juga akan terisi

avatar ma4m
@ma4m

97 Kontribusi 39 Poin

Dipost 7 tahun yang lalu

makasi gan komennya :)

avatar arif90
@arif90

176 Kontribusi 16 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban