एक Node.js डेवलपर के रूप में, जब डिबगिंग, मॉनिटरिंग और आपके एप्लिकेशन को बनाए रखने की बात आती है तो लॉगिंग ही सब कुछ है। लेकिन क्या आप लॉगिंग सर्वोत्तम प्रथाओं का उपयोग कर रहे हैं? आइए कुछ लॉगिंग तकनीकों का पता लगाएं जो आपके Node.js ऐप्स को अगले स्तर पर ले जा सकती हैं।
अधिक जानने के लिए, आप संपूर्ण ब्लॉग पोस्ट देख सकते हैं।
? उपकरण: विंस्टन
? विवरण: Node.js के लिए एक बहुमुखी लॉगिंग लाइब्रेरी
? प्रमुख विशेषताऐं:
javascriptCopyconst winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winston.transports.File({ filename: 'error.log', level: 'error' }), new winston.transports.File({ filename: 'combined.log' }) ] });
? टूल: मॉर्गन
? विवरण: Express.js में HTTP अनुरोध लॉगिंग को सरल बनाता है
? प्रमुख विशेषताऐं:
javascriptCopyconst express = require('express'); const morgan = require('morgan'); const app = express(); app.use(morgan('combined'));
? उपकरण: बुन्यन
? विवरण: Node.js अनुप्रयोगों के लिए संरचित JSON लॉगिंग
? प्रमुख विशेषताऐं:
javascriptCopyconst bunyan = require('bunyan'); const log = bunyan.createLogger({name: "myapp"}); log.info("Hi"); log.warn({lang: 'fr'}, "Au revoir");
? उपकरण: पीनो
? विवरण: JSON आउटपुट के साथ कम ओवरहेड लॉगिंग
? प्रमुख विशेषताऐं:
javascriptCopyconst pino = require('pino'); const logger = pino(); logger.info('hello world'); logger.error('this is at error level');
? टूल: डिबग
? विवरण: Node.js के लिए छोटी डिबगिंग उपयोगिता
? प्रमुख विशेषताऐं:
javascriptCopyconst debug = require('debug')('http'); debug('booting %o', name);
? टूल: Log4js
? विवरण: log4j फ्रेमवर्क का JavaScript में रूपांतरण
? प्रमुख विशेषताऐं:
javascriptCopyconst log4js = require("log4js"); log4js.configure({ appenders: { cheese: { type: "file", filename: "cheese.log" } }, categories: { default: { appenders: ["cheese"], level: "error" } } }); const logger = log4js.getLogger("cheese"); logger.error("Cheese is too ripe!");
? टूल: ईएलके स्टैक
? विवरण: लॉग प्रबंधन और विश्लेषण के लिए एक शक्तिशाली संयोजन
? प्रमुख विशेषताऐं:
javascriptCopyconst winston = require('winston'); const Elasticsearch = require('winston-elasticsearch'); const esTransportOpts = { level: 'info', clientOpts: { node: 'http://localhost:9200' } }; const logger = winston.createLogger({ transports: [ new Elasticsearch(esTransportOpts) ] });
? उपकरण: संतरी
? विवरण: वास्तविक समय त्रुटि ट्रैकिंग और प्रदर्शन निगरानी
? प्रमुख विशेषताऐं:
javascriptCopyconst Sentry = require("@sentry/node"); Sentry.init({ dsn: "https://[email protected]/0" }); try { someFunction(); } catch (e) { Sentry.captureException(e); }
? उपकरण: नया अवशेष
? विवरण: व्यापक अनुप्रयोग प्रदर्शन निगरानी
? प्रमुख विशेषताऐं:
javascriptCopyconst newrelic = require('newrelic'); newrelic.setTransactionName('myCustomTransaction'); // Your application code here
? टूल: लॉगगली
? विवरण: क्लाउड-आधारित लॉग प्रबंधन और विश्लेषण सेवा
? प्रमुख विशेषताऐं:
javascriptCopyconst winston = require('winston'); const { Loggly } = require('winston-loggly-bulk'); winston.add(new Loggly({ token: "YOUR-TOKEN", subdomain: "YOUR-SUBDOMAIN", tags: ["Winston-NodeJS"], json: true }));
winston.log('जानकारी', "Node.js से हैलो वर्ल्ड!");
आपके द्वारा चुने गए टूल के बावजूद, संरचित लॉगिंग को लागू करने से आपकी लॉग विश्लेषण क्षमताओं में काफी सुधार हो सकता है:
javascriptCopylogger.info({ event: 'user_login', userId: user.id, timestamp: new Date().toISOString(), ipAddress: req.ip });
इन अतिरिक्त उपकरणों और प्रथाओं का उपयोग करके, आपके पास एक व्यापक लॉगिंग रणनीति होगी जो बुनियादी डिबगिंग से लेकर उन्नत एप्लिकेशन प्रदर्शन निगरानी तक सब कुछ कवर करती है। याद रखें, प्रभावी लॉगिंग की कुंजी आपकी विशिष्ट आवश्यकताओं के लिए सही टूल चुनना और आपके पूरे कोडबेस में सर्वोत्तम प्रथाओं को लगातार लागू करना है।
यदि आपको अपने वेब ऐप को डीबग करने में सहायता की आवश्यकता है, तो आसान फ्रंटएंड मॉनिटरिंग के बारे में अधिक जानने के लिए https://alerty.ai देखें।
लॉगिंग की शुभकामनाएँ, और आपके Node.js ऐप्स सुचारू रूप से चलें! ??
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3