एक्सप्रेस एप्लिकेशन के साथ `मॉर्गन` मॉड्यूल का क्या करना है?


84

एक एक्सप्रेस ट्यूटोरियल में, लेखक उपयोग कर रहा था npm module morgan। एक्सप्रेस ऐप के लिए मॉर्गन क्या कर सकता है? किसी ने मुझे यह समझने में मदद कर सकता है?

गोग्लिंग द्वारा यह समझ लिया, लेकिन मुझे यहाँ कुछ भी समझ में नहीं आता है:

var express = require('express')
var morgan  = require('morgan')

var app = express()
app.use(morgan('combined'))
morgan('combined')

morgan(':remote-addr :method :url')

morgan(function (tokens, req, res) {
  return req.method + ' ' + req.url
})

1
morganएक लकड़हारा npmjs.org/package/morgan है । जब संदेह में एनपीएम साइट पर जाएं।
5:24 बजे

16
सवाल सिर्फ एक संदेह नहीं है, मैं ठीक से समझने के लिए कुछ सार्थक उदाहरण की तलाश कर रहा हूं।
3gwebtrain 5

जवाबों:


109

मॉर्गन का उपयोग अनुरोध विवरण लॉग करने के लिए किया जाता है। हालाँकि, आपके प्रश्न में स्निपेट का कोई मतलब नहीं है क्योंकि यह वास्तव में एक सुसंगत स्निपेट ऊपर से नीचे तक नहीं है। यह विभिन्न प्रकार के विकल्पों के उदाहरणों की एक श्रृंखला है जिन्हें आप मॉर्गन में पास कर सकते हैं। एक वास्तविक कार्यक्रम में, आपको केवल उनमें से एक की आवश्यकता होगी। उदाहरण के लिए:

var express = require('express')
var morgan  = require('morgan')

var app = express()
//This tells express to log via morgan
//and morgan to log in the "combined" pre-defined format
app.use(morgan('combined'))
//That's it. Everything in your snippet after this are just
//other variations your might want to use

5
क्षमा करें, मुझे समझ नहीं आया कि "संयुक्त" क्या आप इसे स्पष्ट कर सकते हैं?
कन्नन टी

15
मॉर्गन अच्छी तरह से ज्ञात नामों / संरचनाओं के साथ मुट्ठी भर पूर्व-निर्धारित लॉग प्रारूपों का समर्थन करता है। संयुक्त, सामान्य, देव, लघु, लघु। यह स्ट्रिंग मॉर्गन को बता रही है कि आप किस लॉग प्रारूप का उपयोग करना चाहते हैं। npmjs.com/package/morgan#predefined-formats
पीटर लियोन्स

3
@RotimiBest डिफ़ॉल्ट रूप से लॉग मानक के लिए लिखते हैं (आपके प्रोग्राम का सामान्य कंसोल आउटपुट)। यदि आप फ़ाइल सिस्टम पर किसी विशेष फ़ाइल में लिखना चाहते हैं, तो आप कॉन्फ़िगरेशन विकल्प भी पास कर सकते हैं।
पीटर लियोन

25

मॉर्गन मूल रूप से एक लकड़हारा है, किए जा रहे किसी भी अनुरोध पर, यह स्वचालित रूप से लॉग उत्पन्न करता है।


2
शायद एक गूंगा सवाल है लेकिन लॉग फ़ाइल या std.out में कहाँ संग्रहीत हैं?
1:45 बजे रोटिमी-बेस्ट

2
@RotimiBest मॉड्यूल डिफ़ॉल्ट रूप से std आउट (कंसोल आउटपुट) को लिखता है। हालाँकि, इन लॉग को फ़ाइल सिस्टम पर कस्टम फ़ाइल में लिखने के लिए आसानी से कॉन्फ़िगर किया जा सकता है।
कृष्णा गनेरीवाल

5

मॉर्गन: Node.js. के लिए एक और HTTP अनुरोध लकड़हारा मिडलवेयर है यह आपके आवेदन में लॉगिंग अनुरोधों की प्रक्रिया को सरल करता है। आप मॉर्गन को एक सहायक के रूप में सोच सकते हैं जो आपके सर्वर से लॉग एकत्र करता है, जैसे कि आपका अनुरोध लॉग। यह डेवलपर्स का समय बचाता है क्योंकि उन्हें मैन्युअल रूप से सामान्य लॉग बनाने की आवश्यकता नहीं है। यह मानकीकृत करता है और स्वचालित रूप से अनुरोध लॉग बनाता है।

मॉर्गन स्टैंडअलोन संचालित कर सकता है, लेकिन आमतौर पर इसका उपयोग विंस्टन के साथ संयोजन में किया जाता है। विंस्टन लॉग को किसी बाहरी स्थान पर ले जाने में सक्षम है, या किसी समस्या का विश्लेषण करते समय उन्हें क्वेरी कर सकता है।


क्या आप मॉर्गन का उपयोग करने के लिए एक उदाहरण दे सकते हैं, मैं आपको नहीं मिल रहा हूं।
रोहन देवकी

3

मॉर्गन Node.js के लिए एक लोकप्रिय HTTP अनुरोध मिडलवेयर लॉगर है और मूल रूप से एक लकड़हारे के रूप में उपयोग किया जाता है। इसका उपयोग HTTP के डेटा अनुरोधों को अन्य जानकारी के साथ समेकित करने के लिए नोड js के विनस्टोन पैकेज के साथ किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.