Media Pengembangan Web & App | by APPKEY

Pembuatan Aplikasi Mobile Programming Anda Membuat Aplikasi Node, Tetapi Apakah Anda Melakukan Logging?

Anda Membuat Aplikasi Node, Tetapi Apakah Anda Melakukan Logging?

-

Logging adalah bagian penting dalam mengembangkan aplikasi node. Saat aplikasi sedang dalam masa produksi, log diperlukan untuk mengidentifikasi masalah apabila terjadi kesalahan. Jadi, jika Anda adalah seorang developer, Anda harus mengajukan pertanyaan, “Apakah saya melakukan logging dengan cara yang benar?”.

Dalam postingan ini, kami akan memberikan jawaban atas pertanyaan itu. Kami akan membahas apa saja praktik terbaik yang harus diikuti oleh developer, terutama developer aplikasi Node, saat mencatat aktivitas aplikasi Anda.

Mengapa Log Penting?

mengapa-logging

Tidak peduli seberapa Anda sangat hati-hati ketika mengembangkan aplikasi, merupakan hal yang sulit untuk membuat aplikasi Anda 100% aman dan bebas bug. Kami sudah berulang kali mencoba menemukan dan menyelesaikan sebagian besar masalah selama pengembangan aplikasi dengan metode pengujian dan debugging. Tetap saja, kami tidak bisa menemukan semuanya.

Karena kesalahan yang tak terdeteksi ini, aplikasi node yang tengah dalam proses produksi mungkin berperilaku tidak terduga dan melakukan kesalahan dalam situasi tertentu. Terkadang, mereka bisa sangat kritis, bahkan merusak aplikasi sepenuhnya.

Artikel Terkait  10 Rekomendasi Aplikasi Desain UI Terbaik untuk Pemula

Dalam permasalahan seperti itu, apakah kita mampu menjalankan debugger untuk mencari tahu apa yang salah terhadap aplikasi kita? Tidak, itu bukan merupakan ide yang paling praktis.

Solusinya, kami menggunakan logging dalam aplikasi untuk memahami bagaimana dan mengapa aplikasi memiliki perilaku berbeda. Untuk ini, Anda perlu menyiapkan aplikasi node Anda untuk mencatat setiap informasi mengenai kejadian dan kesalahannya. Dan inilah yang kami sebut logging. Logging membantu Anda mengidentifikasi masalah dengan aplikasi yang berjalan dalam produksi.

Praktik Terbaik Logging

Karena log cukup penting, sangat penting bagi kita untuk mengikuti praktik logging yang akan memberi kita bantuan dalam mengidentifikasi masalah dan penyebabnya dengan mudah dan cepat.

Jangan Gunakan console.Log

Developer cenderung mengandalkan console.log fungsi Node untuk mencatat peristiwa aplikasi karena mudah diakses, tidak perlu penyiapan tambahan, dan mudah digunakan.

Tetapi jika Anda ingin menangani penebangan dengan serius, dan Anda harus melakukannya, ini bukanlah cara untuk mencapainya.console.log mencetak keluarannya ke stdout. Terdapat beberapa fungsi konsol lainnya, seperti console.err dan console.warn memberikan hasil output ke stderr. Anda tidak dapat mengonfigurasi console.loguntuk mengangkut log ke file atau database.

Anda tidak dapat menghidupkan dan menonaktifkan logging atau beralih di antara level logging yang berbeda saat aplikasi sedang dalam produksi.

Penjelasan sederhananya, console.log tidak memberikan cukup fitur atau opsi konfigurasi yang menjadi alat logging yang memadai. Anda perlu menggunakan perpustakaan logging khusus dalam menyelesaikan pekerjaan aplikasi dengan benar.

Gunakan Perpustakaan Logging Khusus

Perpustakaan logging khusus, tidak seperti console.log, menyediakan sekumpulan fitur untuk membuat log yang memungkinkan kita mengidentifikasi masalah dengan mudah dan konfigurasi yang cukup untuk memanfaatkan log kita sebaik mungkin.

  • Kebanyakan dari perpustakaan logging memberikan dukungan ke beberapa level logging seperti info, debug, peringatan, dan error. Dalam Level ini sangat membantu dalam menyaring log informasi sesuai dengan kebutuhan kita.
  • Keuntungan terbesar dalam menggunakan perpustakaan logging adalah dapat membuat peralihan di antara level logging bahkan ketika aplikasi dalam produksi.
  • Mereka juga memberikan dukungan log pemformatan dengan warna yang berbeda dalam berbagai tingkat log. Beberapa perpustakaan juga memberikan dukungan pemformatan tipe data yang berbeda beda seperti pada JSON.

Winston dan Bunyan adalah dua perpustakaan logging paling populer yang tersedia untuk developer aplikasi Node.

Dalam posting ini, kita akan menggunakan Winston dalam contoh kode.

Artikel Terkait  Apa Itu Arduino? Penjelasan serta Kelebihan dan Kekurangannya

Sumber Daya, Stempel Waktu, Konteks Merupakan Bagian Terpenting dari Sebuah Logging Aplikasi

Setiap log yang dicatat oleh aplikasi node Anda harus terdiri dari tiga bagian ini.

Sumber

Apabila kita men-debug aplikasi kita dengan menggunakan log, penting untuk tahu di mana letak setiap peristiwa terjadi. Sumber dapat berupa nama host, dalam arsitektur layanan mikro, nama layanan atau metode, zona.

Stempel waktu

Mencatat stempel waktu kejadian yang terjadi juga penting untuk logging. Kami mungkin memerlukan filter dari log yang direkam dalam jangka waktu tertentu atau melakukan urutan log berdasarkan waktu terjadinya. Oleh karena itu, stempel waktu adalah bagian yang harus disertakan dari log aplikasi.

Konteks dan Level

Konteks pada level logging tertentu penting ketika kita melakukan debug aplikasi.

Apabila aplikasi melakukan pendaftaran pengguna baru, ada beberapa cara operasi ini bisa menjadi gagal. Pengguna kemungkinan memberikan data yang tidak valid atau dia bisa saja sudah terdaftar di sistem. Kegagalan ini tidak akan terjadi karena aplikasi kita tidak melakukan kesalahan.

Tetapi jika operasi ini gagal karena aplikasi tidak dapat terhubung ke database, maka menandakan bahwa ada yang tidak beres dengannya. Oleh karena itu, perlunya menyediakan konteks acara dengan setiap log peristiwa sangatlah penting untuk memanfaatkan logging sebaik mungkin.

Selain itu, mencatat tiap level juga penting untuk memfilter dan mengidentifikasi berbagai masalah pada aplikasi node berdasarkan seberapa parah tingkat debugnya.

Gunakan Level Log dengan Benar

Biasanya kami menggunakan level logging dalam mengurutkannya berdasarkan urgensi sehingga apabila terjadi kesalahan kami dapat memfilternya sesuai kebutuhan.

Standar syslog selalu menyediakan level yang ditentukan, pernyataannya sesuai dengan tingkat keparahannya, yang dapat kita gunakan informasinya saat melakukan logging.

Artikel Terkait  Apa Peran Scrum Master Dalam Pengembangan Aplikasi? Panduan Bagi Pemilik Aplikasi

  • Darurat : sistem tidak dapat digunakan
  • Peringatan : tindakan harus segera diambil
  • Kritis : kondisi kritis
  • Error : kondisi error
  • Peringatan : kondisi peringatan
  • Perhatikan : kondisi normal tapi signifikan
  • Informasi : pesan informasional
  • Debug : pesan tingkat debug

Anda dapat mengganti level standar dalam membuat daftar level yang lebih menyesuaikan dengan aplikasi Anda. Namun, setiap log perlu diberi level agar dapat memberikan filter sesuai dengan kebutuhan.

Apa yang Tidak Boleh Dilakukan saat Logging

html1

Pencatatan Seharusnya Tidak Menghasilkan Kesalahan Apa Pun

Anda harus mencoba menemukan kesalahan dalam aplikasi node Anda dengan log. Anda pastinya tidak memerlukan log untuk menambahkan kesalahan mereka sendiri pada aplikasi Anda. Jadi, pastikan bahwa dalam proses operasi logging dilakukan dengan cara yang tidak menghasilkan kesalahan sendiri.

Contohnya pada kode berikut dapat memunculkan kesalahan saat melakukan logging. Anda harus menghindari kejadian seperti ini.

const logger = require("../logger") exports.findUserByUsername = async (req, res) => {    logger.info(`Invoking findUserById with the id ${req.bebsweet.username}`)     //implementation    logger.debug(`Finding user data from the database ${userModel.find({username: req.bebweet.username})}`) //could throw an error.}

Operasi Penebangan Harus Tanpa Kewarganegaraan

Operasi pencatatan seharusnya tidak menghasilkan perubahan status apa pun dalam aplikasi seperti mengubah database. Anda harus menghindari skenario seperti ini.

exports.saveUser = async (req, res) => {    logger.info("invoking saveUser()")     //implementation    logger.debug(`Menyimpan data pengguna ${userType.save(req.body)}`) //changes application state}

Artikel Terkait  Cara Bikin Aplikasi Online Shop | Aplikasi Toko Online

Gunakan Level Logging yang Sesuai dalam Produksi Aplikasi

Mampu mencatat catatan di setiap level akan ideal saat aplikasi kita dalam produksi. Tapi itu tidak selalu praktis. Jika aplikasi Anda memiliki lalu lintas pengguna yang padat, mencatat setiap tingkat kode akan mengakibatkan penurunan kinerja yang sangat besar.

Kita memerlukan pengambilan pendekatan proaktif dalam menghindari hal ini dan terus mencatat secara optimal. Dalam aplikasi level produksi, sebagian besar logging sudah termasuk dalam level debug dan info. Jadi, selama runtime normal, jika kita menonaktifkan debug dan info log, dan hanya mencatat tingkat yang lebih rendah, kita dapat menghindari masalah kinerja yang datang dengan seringnya logging.

Dalam aplikasi node dalam proses produksi, Anda perlu mengaktifkan peringatan, kesalahan, dan level log yang lebih rendah lainnya untuk memberikan identifikasi apakah kesalahan itu dalam status kritis. Kami dapat mengaktifkan debug dan log tingkat info hanya jika kesalahan terdeteksi.

Salah satu keuntungan dalam menggunakan kerangka kerja logging adalah Anda dapat mengubah level logging dengan mudah selama masa produksi.

Teknik Menyimpan Level Logging Saat Ini dengan Variabel Lingkungan

Untuk memastikan bahwa kita dapat dengan mudah mengubah antar level saat diperlukan, Anda harus menyimpan level logging aplikasi saat ini sebagai variabel lingkungan. Ini memberi kita kemampuan untuk mengubah level saat aplikasi node masih dalam produksi hanya dengan mengubah nilai variabel.

//.en.LOG_LEVEL = "warn"//logger.jsconst transports = {  console: new winston.transports.Console({ level: process.env.LOG_LEVEL}),}; const logger = winston.createLogger({  transports: [    Transports.console, ]});

Kesimpulan

Jika Anda membuat aplikasi node yang ditujukan untuk produksi, logging adalah fitur penting yang harus dimiliki. Dalam posting ini, kita membahas praktik terbaik apa yang harus Anda gunakan saat membuat sistem logging.

Dengan menggunakan pengetahuan ini, Anda dapat mulai membangun sistem logging yang bagus untuk aplikasi node Anda hari ini.


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang Website, Aplikasi, Desain, Video dan API langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Kategori

Blog Post Ranking 10

Rekomendasi 10 Aplikasi Pembuat Animasi 3D Terbaik. Ayo Cek!

Apakah Anda bercita-cita untuk menjadi seorang animator profesional? Belajar membuat animasi kini sudah menjadi hal mudah yang bisa dilakukan...

Cara Mudah Menambahkan Lokasi Alamat Bisnis Anda di Google Maps

Saat ingin hunting tempat makan atau tempat nongkrong terbaru, tak jarang beberapa dari Anda biasanya mendapatkan informasi terkini melalui...

Proses Komunikasi: Encoding dan Decoding

Jika kita dapat melihat percakapan antar komputer, mungkin akan terlihat seperti ini: "010110111011101011010010110". Bahasa ini disebut dengan biner, encoding...

Metadata Adalah? Fungsi dan Jenis-Jenis Metadata

Pernah mendengar istilah metadata? Mungkin, kita sering mendengar istilah metadata. Tetapi, banyak dari kita yang belum tahu arti dari metadata...

Pengertian Internet & Dampak Positif dan Negatif Internet

Internet mungkin bukan sesuatu yang asing lagi, sebab semua kalangan pasti tahu apa itu internet. Hanya saja jika ditanya...

Membuat Aplikasi di Playstore dengan Mudah

Membuat aplikasi di Playstore bisa Anda lakukan dengan mudah. Terdapat beberapa situs yang bisa membantu Anda untuk membuat aplikasi...

Domain Google? Apa Bedanya Dengan Domain Biasa?

Saat memutuskan untuk membuat website menjadi salah satu bentuk media digital marketing Anda dalam bersaing di zaman digital ini,...

7 Aplikasi Membuat Aplikasi Android Secara Offline

Aplikasi membuat aplikasi android saat ini banyak dicari penekun IT untuk membuat aplikasi Android secara offline tanpa harus menggunakan...

10 Aplikasi Coding Android Terbaik

Ketersediaan aplikasi coding Android memang banyak dicari oleh orang-orang yang sedang atau akan memulai untuk membuat aplikasi android. Jika...

Looping Adalah Algoritma Perulangan: Berikut Contohnya

Jika anda sudah mendalami atau sedang mendalami dunia pemrograman terdapat sebuah konsep yang dapat memudahkan anda dalam menyusun struktur...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya