Log monitoring NodeJS (NestJS) dengan menggunakan Winston dan Logtail

Agik Setiawan
3 min readJun 14, 2022
Logtail https://betterstack.com/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

Logtail

Klik tombol Connect Source kemudian akan muncul seperti

Logtail Pilih Platfotm

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

Source token

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.

Contoh log nuliscv.com

--

--