這裏對問題陳述稍作調整 - 記錄器僅適用於腳本所有者(誰也恰好記錄)。我加倍檢查,這確實是行爲。我檢查訪問一個簡單的網絡應用程序作爲另一個登錄用戶與測試帳戶和記錄器也不適用於該帳戶。
這實際上是目前Logger的一個已知限制。
在您編寫代碼時,記錄器對於調試更有用,而不是在其他人訪問您的代碼時。記錄器信息也不會在不同的運行中持續存在。
我實際上最終將我的日誌語句寫入一個簡單的文件。我添加了諸如時間戳這樣的小東西,並且可以使其更加健壯。如有必要,您甚至可以添加異常日誌和effective user信息。
以下是我通常如何將這些練習留給讀者的幾個片段。
功能我跑一次 -
function initLog() {
//add check to see if log already exists so you don't init multiple times
var logfile = DocsList.createFile('Log file for my script','') ;
ScriptProperties.setProperty('LogFile', logfile.getId());
logfile.getId();
}
實用的功能,我可以從我的代碼中任何地方調用 -
function logMsg(msg){
//add more checks here to init log if its not already done
var logfile = DocsList.getFileById(ScriptProperties.getProperty('LogFile'));
logfile.append(new Date().toString() + ' - ' + msg + '\n');
}
簡單的由線束,以顯示如何做到這一點的工作 -
function logTests(){
initLog();
logMsg('hello world');
logMsg('test message');
}
這是它的樣子。希望這可以幫助。
感謝您的答覆阿倫:)雅似乎是問題。那天我通過在UserProperties中設置它進行測試,它成功地存儲了這些值。 –