लॉगिंग किसी भी एप्लिकेशन में एक बहुत ही आवश्यक हिस्सा है चाहे वह Node.js या किसी अन्य प्रोग्रामिंग भाषा में बनाया गया हो। लॉगिंग हमें वास्तविक समय की त्रुटियों और अपवादों के साथ-साथ किसी एप्लिकेशन के अजीब व्यवहार का पता लगाने में मदद करती है। किसी को भी अपने आवेदन में तार्किक लॉग अवश्य डालने चाहिए। ये लॉग उपयोगकर्ता को किसी भी गलती की पहचान करने और तत्काल आधार पर इसे हल करने में मदद करते हैं।
5 अलग-अलग लॉग स्तर हैं जो इस समय उपयोगकर्ता के पास मौजूद हैं। इन लॉग स्तरों का उपयोग विभिन्न प्रकार के लॉग को परिभाषित करने के लिए किया जाता है और उपयोगकर्ता को विभिन्न परिदृश्यों की पहचान करने में मदद करता है। इन लॉग्स से सर्वोत्तम डील प्राप्त करने के लिए लॉग स्तरों को सावधानीपूर्वक कॉन्फ़िगर किया जाना चाहिए -
-
त्रुटि
-
चेतावनी
-
जानकारी
-
वर्बोज़
-
डिबग
मिडलवेयर
आप इस मिडलवेयर को अनुरोध पाइपलाइन में डाल सकते हैं ताकि आप लॉग प्रिंट करने के लिए सीधे डीबग मॉड्यूल की शक्ति का उपयोग कर सकें। डिबग मॉड्यूल का सबसे अच्छा लाभ यह है कि लगभग सभी मॉड्यूल मुद्रण लॉग के लिए डिबग का उपयोग करते हैं। आप लॉग और त्रुटियों को प्रिंट करने के लिए डीबग मॉड्यूल का उपयोग कर सकते हैं।
यह मिडलवेयर मुख्य रूप से मध्य पाइपलाइन के रूप में कार्य करने के लिए उपयोग किया जाता है - आप इस पाइपलाइन में लॉग पास कर सकते हैं जो लॉग फ़ाइल में मुद्रित होगा। लॉगिंग उद्देश्यों के लिए इस मिडलवेयर के माध्यम से अनुरोध और प्रतिक्रियाएं भी पारित की जाती हैं। एक्सप्रेस ऐप में यह बहुत फायदेमंद है। मिडलवेयर सेट करना आसान है और इसे किसी भी फ्रेमवर्क में इस्तेमाल किया जा सकता है।
मिडलवेयर के लिए फ़ाइलें कॉन्फ़िगर करना
आवेदन
const app = express() const logMiddleware = require('my-logging-middleware') app.use(logMiddleware)
राउटर
const router = express.Router() const routeLoggingMiddleware = require('my-route-logging-middleware') router.use(routeLoggingMiddleware)
त्रुटियां
const app = express(); const errorLoggingMiddleware = require('my-error-logging-middleware') app.use(errorLoggingMiddleware)
विंस्टन पैकेज
आप लॉगिंग उद्देश्यों के लिए विंस्टन पैकेज का भी उपयोग कर सकते हैं। यह विभिन्न लॉग स्तरों, प्रश्नों के साथ-साथ एक प्रोफाइलर भी प्रदान करता है।
आवेदन
const app = express() const winstonPackage = require('winston') const consoleTransport = new winstonPackage.transports.Console() const myWinstonOptions = { transports: [consoleTransport] } const logger = new winstonPackage.createLogger(myWinstonOptions) function logRequest(req, res, next) { logger.info(req.url) next() } app.use(logRequest) function logError(err, req, res, next) { logger.error(err) next() } app.use(logError)