Class Logger

Logger

如果指令碼與標準 Cloud 專案相關聯,開發人員就能使用這個類別寫入執行記錄,以及 Google Cloud Logging。這個類別適合用於結構化記錄,以及 Cloud Logging 中的 jsonPayload 支援功能。如要記錄時間,請使用 console

方法

方法傳回類型簡短說明
clear()void清除記錄。
getLog()String傳回目前記錄檔中的完整訊息清單。
log(data)Logger將資料寫入記錄。
log(format, values)Logger使用提供的格式和值,將格式化字串寫入記錄主控台。

內容詳盡的說明文件

clear()

清除記錄。


getLog()

傳回目前記錄檔中的完整訊息清單。您可以使用這個方法儲存或透過電子郵件傳送指令碼執行期間產生的完整記錄輸出內容。

// Generate a log, then email it to the person who ran the script.
const files = DriveApp.getFiles();
while (files.hasNext()) {
  Logger.log(files.next().getName());
}
const recipient = Session.getActiveUser().getEmail();
const subject = 'A list of files in your Google Drive';
const body = Logger.getLog();
MailApp.sendEmail(recipient, subject, body);

回攻員

String:記錄控制台的記錄


log(data)

將資料寫入記錄。資料可以是字串、JavaScript 物件,或具有 message 屬性的物件。

Logger.log("my log message");
// Info   my logmessage
Logger.log({ key: "value" });
// Info   {key=value}
Logger.log({ message: "my log message", data: { key: "value" } })
// Info   my logmessage

傳遞物件時,如果物件包含 message 屬性,該屬性會做為記錄訊息。否則,系統會呼叫 toString() 方法,將物件轉換為字串。所有其他可序列化為 JSON 的屬性都會納入 LogEntryjsonPayload 中,如下方範例所示:

{
  "insertId": "w5eib...",
  "jsonPayload": {
    "message": "my log message",
    "serviceContext": {
      "service": "AKfyc..."
    },
    "data": {
      "key": "value"
    }
  },
  "resource": {
    "type": "app_script_function",
    "labels": {
      "invocation_type": "editor",
      "function_name": "unknown",
      "project_id": "1234567890"
    }
  },
  "timestamp": "2024-11-15T23:28:19.448591Z",
  "severity": "INFO",
  "labels": {
    "script.googleapis.com/user_key": "AOX2d...",
    "script.googleapis.com/process_id": "EAEA1...",
    "script.googleapis.com/project_key": "MQXvl...",
    "script.googleapis.com/deployment_id": "AKfyc..."
  },
  "logName": "projects/[PROJECT_ID]/logs/script.googleapis.com%2Fconsole_logs",
  "receiveTimestamp": "2024-11-15T23:28:20.363790313Z"
}

參數

名稱類型說明
dataObject要記錄的物件

回攻員

Logger:用於鏈結的記錄器。


log(format, values)

使用提供的格式和值,將格式化字串寫入記錄控制台。字串可包含多個 %s 預留位置,這些預留位置會替換為引數清單中對應的值,並轉換為字串。

// Log the number of Google Groups you belong to.
const groups = GroupsApp.getGroups();
Logger.log('You are a member of %s Google Groups.', groups.length);

參數

名稱類型說明
formatString格式字串,其中包含的 %s 執行個體數量與引數數量相同values
valuesObject...要插入格式字串的值數量不一

回攻員

Logger - Logger,用於鏈結