परिदृश्य: मान लें कि मेरे पास विभिन्न कार्यों को करने और विभिन्न डेवलपर्स द्वारा संभाले जाने वाले कई तरीके हैं। मैं एक जेनेरिक विधि कॉल करने की कोशिश कर रहा हूं जो त्रुटि होने पर लॉग करता है। तो जरूरत है, इस प्रकार मैं एक लाइन नहीं है, विधि नाम, आदि लॉग इन करना है ..किसी विधि के अंदर विधि नाम कैसे प्राप्त करें node.js
मैं एक सामान्य समारोह लिखा है:
function enterLog(sourcefile, methodName, LineNo)
{
fs.appendFile('errlog.txt', sourcefile +'\t'+ methodName +'\t'+ LineNo +'\n', function(e){
if(e)
console.log('Error Logger Failed in Appending File! ' + e);
});
}
तो, उपरोक्त विधि के लिए कॉल स्रोत पारित करने के लिए है फ़ाइल, विधि का नाम और रेखा संख्या जो विकास के दौरान किसी भी समय बदल सकती है।
उदा।
enterLog('hardcodedFileName.js', 'TestMethod()', '27');
प्रश्न: हार्ड-कोडेड मूल्यों के साथ विधि फोन करने के लिए यह कड़ी मेहनत से कोड के लिए बेहतर मान (उदाहरण के ऊपर के रूप में) की आवश्यकता होती है या किसी भी तरह से विधि नाम & लाइन से कोई संदर्भ प्राप्त करने के लिए है Node.js में किसी भी तरह से?
चेक चर्चाओं: हार्डकोड नहीं अपने फ़ाइल नाम सबसे आसान 3 पार्टी मॉड्यूल निर्भरता के बिना Node.js में प्राप्त करने के लिए है http://stackoverflow.com/questions/16324409/is-it-possible -for-a-javascript-function-to-return-its-own-function-call-as-a-st – NilsH