Penggunaan Pino untuk Logging di Berbagai Framework

Penggunaan Pino untuk Logging di Berbagai Framework

Dalam artikel ini, kita akan membahas cara menggunakan pino sebagai logger dalam berbagai framework, seperti Express.js, Nest.js, dan H3.

Penggunaan Pino dengan Express.js

Untuk menggunakan pino dengan Express.js, Anda dapat mengimpor modul pino-http dan menambahkan middleware-nya ke aplikasi Express.js. Berikut adalah contoh kode:

const express = require('express');
const { logger } = require('pino-http');

const app = express();

app.use(logger({ }));

app.get('/hello', (req, res) => {
 console.log('Hello world!');
 res.send('Hello world!');
});

app.listen(3000);

Dalam contoh di atas, kita mengimpor modul pino-http dan menambahkan middleware-nya ke aplikasi Express.js menggunakan metode app.use(). Kita juga dapat meningkatkan logging dengan menggunakan opsi seperti level untuk memfilter log.

Penggunaan Pino dengan Nest.js

Nest.js adalah framework JavaScript yang dibangun atas foundation TypeScript. Untuk menggunakan pino dengan Nest.js, Anda dapat mengimpor modul LoggerModule dan Logger dari nestjs-pino, serta menambahkan middleware-nya ke aplikasi Nest.js.

Berikut adalah contoh kode:

import { Controller, Get } from '@nestjs/common';
import { Logger } from 'nestjs-pino';

@Controller()
export class AppController {
 constructor(private readonly logger: Logger) {}

 @Get()
 getHello() {
 this.logger.log('something');
 return `Hello world`;
 }
}

@Module({
 controllers: [AppController],
 imports: [LoggerModule.forRoot()]
})
class MyModule {}

async function bootstrap() {
 const app = await NestFactory.create(MyModule);
 await app.listen(3000);
}

Dalam contoh di atas, kita mengimpor modul LoggerModule dan Logger dari nestjs-pino, serta menambahkan middleware-nya ke aplikasi Nest.js menggunakan metode app.use(). Kita juga dapat meningkatkan logging dengan menggunakan opsi seperti level untuk memfilter log.

Penggunaan Pino dengan H3

H3 adalah framework JavaScript yang dibangun atas foundation Node.js. Untuk menggunakan pino dengan H3, Anda dapat mengimpor modul pino dan menambahkan middleware-nya ke aplikasi H3.

Berikut adalah contoh kode:

import { createApp, createRouter, eventHandler, fromNodeMiddleware } from "h3";
import pino from 'pino-http';

const app = createApp();

const router = createRouter();
app.use(router);
app.use(fromNodeMiddleware(pino()));

app.use(eventHandler((event) => {
 event.node.req.log.info('something');
 return 'hello world';
}));

router.get(
 "/",
 eventHandler((event) => {
 return { path: event.path, message: "Hello World!" };
 }),
);

Dalam contoh di atas, kita mengimpor modul pino dan menambahkan middleware-nya ke aplikasi H3 menggunakan metode app.use(). Kita juga dapat meningkatkan logging dengan menggunakan opsi seperti level untuk memfilter log.

Kesimpulan

Pada artikel ini, kita telah membahas cara menggunakan pino sebagai logger dalam berbagai framework, seperti Express.js, Nest.js, dan H3. Pino adalah modul yang sangat berguna untuk meningkatkan logging pada aplikasi JavaScript, serta memberikan lebih banyak informasi tentang apa yang terjadi di belakang layar.