pemrograman

01 Pengenalan Logging Pada Golang

Pengenalan Logging

Logging yang berisikan informasi dari sebuah sistem bisa memberikan pesan yang jelas terkait suatu kejadian yang terjadi pada sistem kita. Logging bukan hanya untuk kebutuhan menampilkan informasi dan kadang juga bisa digunakan sebagai proses debugging ketika terjadi masalah pada sistem yang sudah kita buat.

Banyak sekali mekanisme Logging pada sistem, ada yang berupa menyimpan pada suatu file, simpan di database dan bahkan ada thirdparty khusus yang bisa digunakan untuk proses Logging misalkan ElasticSearch Kibana. Sebegitu pentingnya suatu Logging sehingga banyak sekali mekanisme penyimpanan Logging ini agar terdistribusi, tercatat secara historikal agar kejadian-kejadian yang terjadi pada sistem seperti masalah sistem, masalah perhitungan sampai ke dalam permasalahan proses bisnis yang dibuat pada sistem bisa jadi tercatat pada sistem Logging ini.

Library yang dipakai

Pada Golang sebenarnya package logging Framework sudah tersedia, hanya saja fitur-fitur yang disediakan terbatas dan tidak selengkap beberapa library yang sekarang banyak menyebar bahkan untuk kebutuhan-kebutuhan khusus. Kebanyakan programmer juga tidak menggunakannya ketika sudah mengimplementaiskan di live production.

Bnyak sekali library yang sudah menyebar di kalangan prograamer khususnya golang, diantaranya:

Berdasarkan informasi benchmarking disini dengan kesimpulan bahwa Zerolog, Zap memiliki high-performance tetapi ketika kita ingin mempelajari Logging yang standard dan mudah untuk dipakai bisa juga kita menggunakan Logrus.

Pada kali ini kita akan pakai package atau Framework logging Logrus karena kita ingin yang mudah untuk dipakai dan diimplemantasikan pada sistem kita dan juga melihat dari bintang pada repository, package ini paling populer dari semuanya.

Membuat Projek Baru

Kita langsung coba membuat projek baru untuk mempelajari mulai dari dasar yaitu dengan membuat nama folder learn-golang-logging lalu kita lakukan ini pada terminal.

go mod init github.com/santekno/learn-golang-logging

dilanjutkan dengan menambahkan dependency package yang akan kita pakai

go get github.com/sirupsen/logrus

maka akan terlihat dua file yaitu go.mod dan go.sum seperti dibawah ini.

.
├── go.mod
└── go.sum

dan akan terisi file go.mod seperti ini

module github.com/santekno/learn-golang-logging

go 1.21.1

require (
        github.com/sirupsen/logrus v1.9.3 // indirect
        golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect
)

Pembuatan projek baru sudah tersedia dan kita siap untuk mempelajari Logging pada Golang di artikel selanjutnya. Jika teman-teman ingin menambahkan repo dan disimpan di dalam git, maka bisa tambahkan initial git dan push ke dalam git repository misalnya saat ini santekno menggunakan github untuk penyimpanan kode repository yang kita buat.

git init
git remote add origin git@github.com:santekno/learn-golang-logging.git
git push origin main
comments powered by Disqus