ओपी सवालों के जवाब दे रहा है
क) Google Apps Script कंसोल मुद्रण के संबंध में कैसे काम करता है, इसके बारे में मुझे क्या समझ में नहीं आता है ताकि मैं देख सकूं कि क्या मेरा कोड पूरा हो रहा है?
एक Google Apps स्क्रिप्ट प्रोजेक्ट की .gs फ़ाइलें वेब ब्राउज़र के बजाय सर्वर पर चलती हैं। संदेशों को लॉग करने का तरीका क्लास लॉगर का उपयोग करना था ।
बी) यह कोड के साथ एक समस्या है?
जैसा कि त्रुटि संदेश ने कहा, समस्या यह थी कि console
परिभाषित नहीं की गई थी, लेकिन आजकल एक ही कोड अन्य त्रुटि को फेंक देगा:
ReferenceError: "playerArray" परिभाषित नहीं है। (पंक्ति 12, फ़ाइल "कोड")
ऐसा इसलिए है क्योंकि playerArray को स्थानीय चर के रूप में परिभाषित किया गया है। फ़ंक्शन से बाहर की ओर ले जाने से यह हल हो जाएगा।
var playerArray = [];
function addplayerstoArray(numplayers) {
for (i=0; i<numplayers; i++) {
playerArray.push(i);
}
}
addplayerstoArray(7);
console.log(playerArray[3])
अब जब कोड त्रुटियों को फेंकने के बिना निष्पादित होता है, तो ब्राउज़र कंसोल को देखने के बजाय हमें स्टैकड्राइवर लॉगिंग को देखना चाहिए। Google Apps स्क्रिप्ट एडिटर UI से View> Stackdriver Logging पर क्लिक करें ।
परिशिष्ट
2017 में Google ने सभी स्क्रिप्ट्स स्टैकड्राइवर लॉगिंग के लिए जारी किया और क्लास कंसोल को जोड़ा, इसलिए कुछ ऐसा शामिल है जिसमें console.log('Hello world!')
कोई त्रुटि नहीं होगी लेकिन लॉग ब्राउज़र कंसोल के बजाय Google क्लाउड प्लेटफ़ॉर्म स्टैकड्राइवर लॉगिंग सेवा पर होगा।
से Google Apps स्क्रिप्ट रिलीज नोट्स 2017
23 जून, 2017
स्टैकड्राइवर लॉगिंग को प्रारंभिक पहुंच से बाहर कर दिया गया है। सभी लिपियों में अब स्टैकड्राइवर लॉगिंग की पहुंच है।
से लॉगिंग> Stackdriver लॉगिंग
निम्न उदाहरण दिखाता है कि Stackdriver में जानकारी लॉग करने के लिए कंसोल सेवा का उपयोग कैसे करें ।
function measuringExecutionTime() {
console.info('Timing the %s function (%d arguments)', 'myFunction', 1);
var parameters = {
isValid: true,
content: 'some string',
timestamp: new Date()
};
console.log({message: 'Function Input', initialData: parameters});
var label = 'myFunction() time';
console.time(label);
try {
myFunction(parameters);
} catch (e) {
console.error('myFunction() yielded an error: ' + e);
}
console.timeEnd(label);
}