Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

Node.js में लॉगिंग

विवरण

लॉगिंग किसी भी एप्लिकेशन में एक बहुत ही आवश्यक हिस्सा है चाहे वह Node.js में बना हो या किसी अन्य प्रोग्रामिंग भाषा में। लॉगिंग हमें एप्लिकेशन के अजीब व्यवहार के साथ-साथ वास्तविक समय की त्रुटियों और अपवादों का पता लगाने में मदद करता है। किसी को निश्चित रूप से अपने एप्लिकेशन में तार्किक लॉग डालने चाहिए। ये लॉग उपयोगकर्ता को किसी भी गलती की पहचान करने और तत्काल आधार पर इसे हल करने में मदद करते हैं।

वर्तमान में उपयोगकर्ता के पास 5 अलग-अलग लॉग स्तर मौजूद हैं। इन लॉग स्तरों का उपयोग विभिन्न प्रकार के लॉग को परिभाषित करने के लिए किया जाता है और उपयोगकर्ता को विभिन्न परिदृश्यों की पहचान करने में मदद करता है। इन लॉग से सर्वोत्तम लाभ प्राप्त करने के लिए लॉग स्तरों को सावधानीपूर्वक कॉन्फ़िगर किया जाना चाहिए:

  • error

  • warn

  • info

  • verbose

  • debug

मिडलवेयर

आप इस मिडलवेयर को अनुरोध पाइपलाइन में डाल सकते हैं ताकि आप सीधे लॉग प्रिंट करने के लिए डिबग मॉड्यूल की शक्ति का उपयोग कर सकें। डिबग मॉड्यूल का सबसे अच्छा लाभ यह है कि लगभग सभी मॉड्यूल लॉग प्रिंट करने के लिए डिबग का उपयोग करते हैं। आप लॉग और त्रुटियों को प्रिंट करने के लिए डिबग मॉड्यूल का उपयोग कर सकते हैं।

यह मिडलवेयर मुख्य रूप से एक मध्य पाइपलाइन के रूप में कार्य करने के लिए उपयोग किया जाता है - आप इस पाइपलाइन में लॉग पास कर सकते हैं जिसे लॉग फ़ाइल में प्रिंट किया जाएगा। अनुरोध और प्रतिक्रियाएं भी लॉगिंग उद्देश्यों के लिए इस मिडलवेयर के माध्यम से पास की जाती हैं। यह एक एक्सप्रेस ऐप में बहुत फायदेमंद है। मिडलवेयर सेट करना आसान है और किसी भी फ्रेमवर्क में किया जा सकता है।

मिडलवेयर के लिए फ़ाइलें कॉन्फ़िगर करना

एप्लिकेशन

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)

Winston पैकेज

आप लॉगिंग उद्देश्यों के लिए winston पैकेज का भी उपयोग कर सकते हैं। यह विभिन्न लॉग स्तर, क्वेरीज़ के साथ-साथ एक प्रोफाइलर भी प्रदान करता है।

एप्लिकेशन

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)
  1. JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स

    const ES2015 (ES6) में पेश किया गया एक ब्लॉक-स्कोप्ड वेरिएबल डिक्लेरेशन है जो रीअसाइनमेंट को रोकता है। यह आधुनिक JavaScript में डिफ़ॉल्ट विकल्प होना चाहिए जब रीअसाइनमेंट की आवश्यकता न हो। उदाहरण { try { a = 44; // TypeError: Assignment to constant variable } catch (e

  1. JavaScript में Const vs Let JavaScript में Const vs Let

    Const और let को ES2015 में ब्लॉक-स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि let का उपयोग करके घोषित वेरिएबल को पुनः असाइन किया जा सकता है, const का उपयोग करके घोषित वेरिएबल को पुनः असाइन नहीं किया जा सकता। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <me

  1. Node.js में Express-rate-limit को एकीकृत करना Node.js में Express-rate-limit को एकीकृत करना

    विवरणदिन-प्रतिदिन वेबसाइटों को DOS और DDOS हमलों से बचाने के लिए रेट-लिमिटिंग महत्वपूर्ण होता जा रहा है। रेट-लिमिटिंग सिस्टम को किसी भी प्रकार के नकली अनुरोधों या अन्य ब्रूट फोर्स हमलों से बचाता है। रेट लिमिटिंग एक IP द्वारा किए जा सकने वाले अनुरोधों की संख्या को सीमित करता है। express-rate-limit एक