NodeJS Morgan module : HTTP Request Logging in NodeJS

Other Blogs

Blogs ❯❯ NodeJS

Image could not load

NodeJS morgan Module

Web applications develop करते वक्त, logging एक बहुत ही important aspect है। Logging से आपको पता चलता है कि आपका application कैसे behave कर रहा है, और potential issues को debug करने में help मिलती है।

Node.js में HTTP request logging को implement करने के लिए एक popular module है morgan. इस blog में हम morgan module के through Node.js applications में logging को implement करेंग।

Node.js morgan Module

morgan एक HTTP request logger middleware है जो Express.js applications के साथ use होता है , ये हर incoming request को console पर log कर देता है, जो आपको request details देखने में help करता है।

Features of Morgan

  • Simple and Lightweight : Easy तो configure और lightweight logging solution.

  • Predefined Formats : Multiple predefined logging formats जैसे 'combined', 'common', 'dev', 'short', और 'tiny'.

  • Custom Token Support : आप custom tokens और formats भी create कर सकते हैं।

NodeJS morgan Installation

पहले आपको morgan module को install करना होगा -

npm install morgan

NodeJS Logging Example

एक basic Express server setup करते हैं और morgan को integrate करते हैं -

Step 1 : Create an Express Server

Create a file named app.js

const express = require('express'); const morgan = require('morgan'); const app = express(); // Use morgan middleware app.use(morgan('dev')); // Define a simple route app.get('/', (req, res) => { res.send('Hello, Morgan!'); }); // Start the server const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });

Explanation :

  • Express server setup किया गया है with a basic route जो Hello, Morgan! response send करता है।

  • morgan('dev') को middleware के roop में use किया गया है जो console में request logs show करेगा। 'dev' format concise और readable output provide करता है।

Predefined Formats

morgan module कुछ predefined formats offer करता है जो आपकी logging needs के लिए useful हो सकते हैं -

  • combined : Standard Apache combined log output

  • common : Standard Apache common log output

  • dev : Concise output colored by response status

  • short : Shorter than 'common', more information than 'tiny'

  • tiny : Minimal output

Example with Different Formats

app.use(morgan('combined'));

Custom Tokens and Formats

आप morgan module में custom tokens और formats भी define कर सकते हैं , Custom tokens आपको specific information log करने में help करते हैं।

// Define a custom token morgan.token('id', (req) => req.headers['x-request-id'] || 'unknown'); // Use custom token in format app.use(morgan(':id :method :url :status :res[content-length] - :response-time ms'));

Writing Logs to a File

अगर आप logs को file में store करना चाहते हैं तो fs module का use कर सकते हैं।

const fs = require('fs'); const path = require('path'); // Create a write stream const accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), { flags: 'a' }); // Setup the logger to write to file app.use(morgan('combined', { stream: accessLogStream }));

Conclusion

Node.js में HTTP request logging को manage करने के लिए morgan एक effective tool है। इसकी simplicity और flexibility से आप आसानी से logging को implement कर सकते हैं, जो आपको application को debug और monitor करने में help करता है।

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !