पाठ 22 / 32

Logging

Request-scoped loggers और सार्थक log levels के साथ Fastify में Pino structured logging उपयोग करें।

Pino: तेज़ structured logging

Fastify के साथ Pino आता है, एक high-performance JSON logger। Routes और plugins में इसे fastify.log के माध्यम से access करें।

Context के साथ logging

Better debugging और monitoring के लिए structured data के साथ log करें।

fastify.get('/users/:id', async (req, reply) => {
  fastify.log.info({
    userId: req.params.id,
    method: req.method,
    timestamp: new Date().toISOString(),
  }, 'Fetching user');
  
  try {
    const user = await findUser(req.params.id);
    return user;
  } catch (err) {
    fastify.log.error({
      userId: req.params.id,
      error: err.message,
    }, 'Failed to fetch user');
    throw err;
  }
});

त्वरित जाँच

त्वरित जाँच: built-in Pino logger कैसे चालू करते हैं?

  • `Fastify({ logger: true })`
  • सिर्फ़ `npm i pino`
  • यह हमेशा चालू रहता है
Answer

`Fastify({ logger: true })` — logging default में बंद है; `logger: true` Pino को per-request ids के साथ चालू करता है।