Log monitoring NodeJS (NestJS) dengan menggunakan Winston dan Logtail

Logtail adalah log management yang digunakan untuk memonitoring log pada aplikasi yang kita buat. Logtail mendukung banyak bahasa pemrograman seperti NodeJS, PHP, Python, Go dan lainya.

Kenapa Log sangat penting untuk aplikasi yang kita buat?

Kegunaan utama dari log adalah untuk mencatat aktivitas dari website ketika terjadi sesuatu yang tidak kita inginkan misalnya website mengalami gangguan seperti Error, atau database mengalami kendala.

Biasanya log akan otomatis tersimpan di dalam file log yang ada di website atau aplikasi. lokasinya tergantung dari website atau aplikasinya. namun ketika website mengalami error maka kita akan masuk ke server dan mencari log tersebut guna untuk mencari masalah atau kendala yang ada dan pastinya akan membutuhkan banyak waktu untuk mencarinya, sedangkan website kita harus cepat — cepat kembali normal seperti seblumnya. cara yang paling mudah adalah dengan menambahkan fitur Log management secara terpisah dan memiliki Tampilan User Interface seperti Logtail supaya kita bisa dengan mudah menemukan Bug atau Error pada website atau aplikasi kita.

Untuk menggunakan Logtail pertama yang harus dilakukan adalah mendaftar menggunakan email ke website Logtail https://betterstack.com/logtail. kemudian akan muncul seperti gambar di bawah ini

Klik tombol Connect Source kemudian akan muncul seperti

Isi Name dengan nama Log(Bebas) lalu pilih Platform yang diinginkan misalnya saya memilih NodeJS. setelah itu klik Create Source dan akan muncul gambar seperti berikut ini

Copy Srouce token yang muncul, karena source token itu nanti yang akan kita gunakan di dalam aplikasi NestJS kita.

Setelah mendapatkan token selanjutnya adalah menginstall Winston ke dalam NestJS.

npm install --save nest-winston winston

Lalu install Logtail

npm install @logtail/node @logtail/winston

Setelah itu edit file src/main.ts

Import Dependensi

import { utilities as nestWinstonModuleUtilities, WinstonModule } from 'nest-winston';const { Logtail } = require("@logtail/node");const { LogtailTransport } = require("@logtail/winston");import * as winston from 'winston';

lalu edit file di dalam bootstrap()

const logtail = new Logtail(TOKEN_LOGTAIL);let app = await NestFactory.create<NestExpressApplication>(AppModule, {logger: WinstonModule.createLogger({transports: [LogtailTransport(logtail)],})});

Kemudian silahkan masuk kedalam dashboard Logtail dan masuk ke menu Source lalu klik Source yang kita buat sebelumnya maka log akan muncul secara otomatis.

--

--

Fullstack Developer at Nuliscv.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store