TypeScript में लॉगिंग: 2024 की सर्वश्रेष्ठ लाइब्रेरीज़ और समाधानों का अवलोकन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

TypeScript के लिए लॉगिंग: सर्वश्रेष्ठ समाधान और उपकरण

\n\n

लॉगिंग किसी भी TypeScript एप्लिकेशन का एक महत्वपूर्ण हिस्सा है। गुणवत्तापूर्ण लॉगिंग सिस्टम के बिना, कोड को प्रभावी ढंग से डीबग करना, प्रोडक्शन में त्रुटियों का विश्लेषण करना और सिस्टम के व्यवहार को ट्रैक करना असंभव है। इस लेख में, हम TypeScript में लॉगिंग के लिए सर्वश्रेष्ठ लाइब्रेरीज़ की समीक्षा करेंगे, उनकी क्षमताओं की तुलना करेंगे और उपयोग के व्यावहारिक उदाहरण देंगे।

\n\n

TypeScript में लॉगिंग की आवश्यकता क्यों है?

\n\n

TypeScript, JavaScript पर एक ओवरले होने के नाते, एसिंक्रोनसिटी और इवेंट-आधारित मॉडल के साथ काम करने की सभी विशेषताओं को विरासत में लेता है। यह लॉगिंग को विशेष रूप से महत्वपूर्ण बनाता है:

\n
    \n
  • डीबगिंग — एसिंक्रोनस ऑपरेशन के निष्पादन क्रम को समझना
  • \n
  • मॉनिटरिंग — रीयल-टाइम में एप्लिकेशन की स्थिति को ट्रैक करना
  • \n
  • त्रुटि विश्लेषण — क्रैश और अपवादों के बारे में विस्तृत जानकारी
  • \n
  • ऑडिट — उपयोगकर्ता क्रियाओं और सिस्टम इवेंट्स को रिकॉर्ड करना
  • \n
  • प्रदर्शन — महत्वपूर्ण संचालन के निष्पादन समय को मापना
  • \n
\n\n

TypeScript में लॉगिंग के लिए शीर्ष-4 लाइब्रेरीज़

\n\n

1. Winston — सार्वभौमिक विकल्प

\n\n

Winston Node.js में लॉगिंग के लिए सबसे लोकप्रिय लाइब्रेरी है जिसमें TypeScript के लिए उत्कृष्ट समर्थन है। यह ट्रांसपोर्ट (लॉग कहाँ भेजें) और लॉगिंग स्तरों की एक लचीली प्रणाली प्रदान करता है।

\n\n

स्थापना:

\n
npm install winston\nnpm install @types/winston --save-dev
\n\n

बुनियादी सेटअप का उदाहरण:

\n
import winston from 'winston';\n\nconst logger = winston.createLogger({\n    level: 'info',\n    format: winston.format.combine(\n        winston.format.timestamp(),\n        winston.format.json()\n    ),\n    transports: [\n        new winston.transports.Console(),\n        new winston.transports.File({ filename: 'error.log', level: 'error' }),\n        new winston.transports.File({ filename: 'combined.log' })\n    ]\n});\n\n// TypeScript के साथ उपयोग\nlogger.info('सर्वर शुरू हुआ', { port: 3000 });\nlogger.error('DB कनेक्शन त्रुटि', { error: err.message });
\n\n

2. Pino — अति-तेज़ लॉगर

\n\n

Pino Node.js के लिए सबसे अधिक प्रदर्शन करने वाला लॉगर है। यह एप्लिकेशन के प्रदर्शन पर न्यूनतम प्रभाव के लिए अनुकूलित है और high-load सिस्टम के लिए आदर्श है।

\n\n

स्थापना:

\n
npm install pino\nnpm install @types/pino --save-dev
\n\n

TypeScript के साथ उपयोग का उदाहरण:

\n
import pino from 'pino';\n\nconst logger = pino({\n    level: process.env.LOG_LEVEL || 'info',\n    transport: {\n        target: 'pino-pretty',\n        options: {\n            colorize: true,\n            translateTime: 'SYS:standard'\n        }\n    }\n});\n\n// टाइप किया गया लॉगिंग\ninterface UserAction {\n    userId: string;\n    action: string;\n    timestamp: Date;\n}\n\nlogger.info({ type: 'user_action', data: { userId: '123', action: 'login' } } as UserAction);
\n\n

3. log4js — शक्तिशाली और कॉन्फ़िगरेबल

\n\n

log4js लोकप्रिय Java फ्रेमवर्क Log4j का उत्तराधिकारी है। यह कॉन्फ़िगरेशन की एक समृद्ध प्रणाली और विभिन्न आउटपुट प्रारूपों के लिए समर्थन प्रदान करता है।

\n\n

स्थापना:

\n
npm install log4js\nnpm install @types/log4js --save-dev
\n\n

TypeScript के साथ सेटअप का उदाहरण:

\n
import log4js from 'log4js';\n\nlog4js.configure({\n    appenders: {\n        out: { type: 'stdout', layout: { type: 'colored' } },\n        app: { type: 'file', filename: 'application.log' }\n    },\n    categories: {\n        default: { appenders: ['out', 'app'], level: 'debug' },\n        'api': { appenders: ['out'], level: 'info' }\n    }\n});\n\nconst logger = log4js.getLogger('api');\nlogger.info('API अनुरोध संसाधित');\nlogger.debug('अनुरोध पैरामीटर:', { method: 'GET', url: '/users' });
\n\n

4. Bunyan — प्र

अनुशंसाएँ