Kursus Singkat 101
10 Modul
5 Minggu

Pencatat kustom

Klik untuk menyalin

Membuat pencatat Anda sendiri


Jika alat yang tercantum di atas untuk menemukan kesalahan tidak cukup, Anda selalu dapat membuat logger sendiri dan menerapkan semua kebutuhan Anda di dalamnya. Sebagai contoh, mari kita buat logger yang akan menambahkan informasi tentang pengguna yang memicu peristiwa ini dan tingkat aksesnya selain deskripsi umum dari peristiwa tersebut.

Model data pencatat

Untuk melakukan ini, mari kita mulai dengan membuat model di database. Kami membutuhkan model yang sangat sederhana, dengan tiga bidang wajib.

  • info (text) - informasi umum tentang acara
  • user (integer) - ID Pengguna
  • access (array string) - grup pengguna (mungkin ada beberapa)


Proses bisnis pencatat

Setelah itu, kita akan membuat proses bisnis untuk menulis log ke database. Tugasnya adalah menerima informasi tentang peristiwa apa pun, melengkapinya dengan informasi tentang pengguna, dan menyimpan hasil akhir dalam database.

Untuk mendapatkan informasi tentang pengguna, gunakan blok Auth: Get current user . Perhatikan bahwa itu hanya akan dapat mewakili hasil sebagai model pengguna jika Middleware Token Auth diaktifkan pada titik akhir yang memulai eksekusinya.


Kami menggunakan Expand User untuk memperluas hasil dan mendapatkan bidang yang diperlukan. Dalam kasus kami, ini adalah ID , Login , dan Groups . Menggunakan dua yang pertama cukup dangkal, Anda hanya perlu mengonversi Login dari format email ke String standar ( Blok To String ).

Dalam kasus kelompok pengguna, situasinya agak lebih rumit. Mereka disimpan dalam format Enum . Ini adalah tipe enumerasi yang hanya menyimpan daftar pengidentifikasi dalam database, bukan nilai teksnya. Dalam kasus kami, nilai 1 sesuai dengan grup administrator ( Admins ), dan nilai 2 sesuai dengan grup pengguna ( Users ).

Tugas kita adalah mendekripsi pengidentifikasi ini dan menulis hasilnya dalam bentuk data tekstual yang nyaman. Untuk ini, Anda perlu:

  • Deklarasikan variabel di mana informasi teks tentang grup pengguna akan ditulis. Mari kita gunakan blok String Array dan Set Variable .
  • Mulai loop dengan blok For each loop . Ini akan menerima larik grup pengguna dan, kemudian, di setiap iterasi, mengonversi grup berikutnya ke nilai teksnya dan menambahkannya ke larik.
  • Menggunakan blok Switch , periksa grup pengguna dan, tergantung pada hasilnya, arahkan proses lebih lanjut.
  • Menggunakan blok String dan Set Variable , simpan nilai yang diperlukan dari grup pengguna dalam sebuah variabel.
  • Gunakan blok Append Array dan Set Variable untuk menambahkan hasilnya ke array dan menyimpannya dalam variabel yang dideklarasikan sebelum loop dimulai.


Setelah menyelesaikan loop, Anda harus menggunakan blok Concat Strings (Multiple) untuk membentuk string terakhir dari data yang tersebar, yang akan diubah menjadi Text dan ditulis ke log.


Hal terakhir yang harus dilakukan adalah membuat model log dan menulisnya ke database.


BP yang dihasilkan akan terlihat seperti ini:


Titik akhir pencatat

Proses bisnis sudah siap. Sekarang kita perlu membuat titik akhir untuk itu. Untuk melakukan ini, kami akan mengganti proses bisnis sistem titik akhir POST /log/ dengan proses bisnis yang baru saja dibuat.


Sekarang log kita sendiri benar-benar siap untuk digunakan. Anda dapat kembali ke awal modul, ke proses bisnis Basic functions , dan mengganti log standar dengan yang Anda buat sendiri.


Sekarang, setiap kali perhitungan dimulai, log khusus akan mencatat tidak hanya informasi tentang fakta sebenarnya dari peristiwa ini, tetapi juga tentang pengguna mana yang melakukannya. Kita bisa mengecek hasilnya di Swagger .


Bagus, log kami benar-benar berfungsi. Sekarang berisi informasi tentang acara, login pengguna, dan hak aksesnya.

Kemungkinan kesalahan dan tindakan yang disarankan

Akibatnya, kami menyusun kemungkinan varian kesalahan dan tindakan untuk memperbaikinya.

  • Kesalahan dalam proses bisnis itu sendiri. Disarankan untuk menggunakan log untuk verifikasi langkah demi langkah. Dengan demikian, Anda dapat memeriksa fakta peluncuran blok proses bisnis tertentu dan semua parameter yang digunakan blok tersebut, baik pada input maupun output.
  • Kesalahan dalam mengirim permintaan ke server. Untuk melakukan ini, gunakan Developer Tools di browser. Anda dapat memeriksa fakta bahwa permintaan telah dikirim, menguraikan strukturnya, dan melihat respons yang diterima.
  • Permintaan salah format. Disarankan untuk menggunakan Swagger untuk pengujian menyeluruh, memeriksa berbagai opsi kueri, dan kombinasi parameter.
  • Hasil permintaan tidak diuraikan dengan benar. Kebetulan kami sedang menunggu hasil di tempat yang tidak seharusnya. Misalnya, kami menambahkan data ke database tetapi tidak memperbaruinya di tabel yang menampilkan data ini. Ingatlah bahwa setiap komponen memerlukan proses bisnis yang sesuai, dan pastikan bahwa proses ini dikonfigurasi dengan benar.
Was this article helpful?
Masih mencari jawaban?