पर रणनीतियां मैं एक बड़ा जावास्क्रिप्ट सॉफ्टवेयर लिख रहा हूं। ब्राउज़रों में प्रदर्शन और पोर्टेबिलिटी बनाए रखने के दौरान, मुझे कॉल का पता लगाने, ईवेंट लॉग इन करने, क्रियाओं को डीबग करने की आवश्यकता है।जावास्क्रिप्ट console.log/trace, आदि
वेबकिट और फायरबग दोनों ट्रेस(), लॉग(), त्रुटि(), चेतावनी() इत्यादि जैसी विधियों के साथ कंसोल ऑब्जेक्ट प्रदान करते हैं। वे बहुत अच्छे हैं, लेकिन ब्राउजर आईई या ओपेरा होने पर मैं क्या करूँ?
कल्पना करें कि एक बड़ा आवेदन होने के नाते, आप निश्चित रूप से यह कर रहे हैं कि यह सभी प्रारंभिक घटनाएं, घटनाएं जो कर रही हैं, आदि देखना चाहती हैं, इस प्रकार मैं इसे लॉग करता हूं। हालांकि, अगर मैं उनको लॉग इन करता हूं, तो लॉगिंग उन ब्राउज़रों में काम नहीं करेगी जिनके पास कंसोल डीओएम में पंजीकृत नहीं है। मैं एक आवरण वस्तु बना सकते हैं:
MyNamespace.Console = {};
MyNamespace.Console.log = function(value) {
if (console!==undefined) {
console.log(value);
}
else {
// What should I do to log events on other browsers?
}
}
ऊपर तो कोई समस्या नहीं आईई/ओपेरा पर पाए जाते हैं बनाता है, लेकिन मैं IE के साथ कैसे लॉग ऑन करते हैं (एक वास्तव में IE के साथ प्रवेश करने की जरूरत है!)।
इसके अलावा, अगर मैं अपने आवेदन में हर जगह लॉग लगाता हूं, तो क्या यह उत्पादन वातावरण पर चलने पर मुझे धीमा कर देता है? क्या मेरे पास एक स्विच DEBUG चालू/बंद होना चाहिए और लॉग इन करने से पहले एक सरल जांच होनी चाहिए कि यदि DEBUG === सत्य है, तो लॉग करें?
क्लोजर कंपाइलर जैसी प्रणालियों के बारे में क्या, क्या आप उन्हें लॉगिंग हटाने के लिए बना सकते हैं?
उत्पादन वातावरण पर चलते समय कोई त्रुटि होने पर और लॉगिंग नहीं हुई है, तो आप समस्या को डीबग/कैसे ढूंढते हैं? और वास्तव में, क्या आप कभी भी जावास्क्रिप्ट त्रुटि लॉग भेजते हैं (डेवलपर), यह सुनिश्चित करने के लिए कि आपके क्लाइंट में कोई समस्या नहीं है? यह कैसे काम करता है?
मैं जावास्क्रिप्ट के साथ डीबगिंग/लॉगिंग पर किसी भी प्रतिक्रिया/टिप्पणियों की सराहना करता हूं, यह मेरी पहली बार एक विशाल जावास्क्रिप्ट एप्लिकेशन लिख रहा है, और स्पष्ट रूप से, मुझे यकीन नहीं है कि मुझे इसके बारे में क्या करना चाहिए ... जावास्क्रिप्ट में डीबगिंग और लॉगिंग लगता है थोड़ा अधूरा