Class Logger

Logger

Mit dieser Klasse kann der Entwickler in das Ausführungsprotokoll und in Google Cloud Logging schreiben, wenn das Script mit einem Standard-Cloud-Projekt verknüpft ist. Diese Klasse wird für strukturiertes Logging und jsonPayload-Unterstützung in Cloud Logging bevorzugt. Verwenden Sie für zeitbasiertes Logging console.

Methoden

MethodeRückgabetypKurzbeschreibung
clear()voidDas Protokoll wird gelöscht.
getLog()StringGibt eine vollständige Liste der Nachrichten im aktuellen Protokoll zurück.
log(data)LoggerSchreibt die Daten in das Protokoll.
log(format, values)LoggerSchreibt einen formatierten String mit dem angegebenen Format und den angegebenen Werten in die Protokollkonsole.

Detaillierte Dokumentation

clear()

Das Protokoll wird gelöscht.


getLog()

Gibt eine vollständige Liste der Nachrichten im aktuellen Protokoll zurück. Mit dieser Methode können Sie die gesamte bei der Scriptausführung generierte Protokollausgabe speichern oder per E-Mail senden.

// 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);

Rückflug

String – das Protokoll aus der Logging-Konsole


log(data)

Schreibt die Daten in das Protokoll. Die Daten können ein String, ein JavaScript-Objekt oder ein Objekt mit einer message-Eigenschaft sein.

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

Wenn ein Objekt übergeben wird und dieses Objekt die Property message enthält, wird diese Property als Protokollmeldung verwendet. Andernfalls wird die Methode toString() aufgerufen, um das Objekt in einen String umzuwandeln. Alle anderen JSON-serialisierbaren Properties sind Teil von jsonPayload in LogEntry, ähnlich wie im folgenden Beispiel:

{
  "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"
}

Parameter

NameTypBeschreibung
dataObjectdas zu protokollierende Objekt

Rückflug

Logger – der Logger für die Verkettung.


log(format, values)

Schreibt einen formatierten String mit dem angegebenen Format und den angegebenen Werten in die Protokollkonsole. Der String kann mehrere %s-Platzhalter enthalten, die durch entsprechende Werte aus der Liste der Argumente ersetzt werden, die in Strings umgewandelt werden.

// 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);

Parameter

NameTypBeschreibung
formatStringeinen Formatstring, der so viele Instanzen von %s wie values-Argumente enthält
valuesObject...eine variable Anzahl von Werten, die in den Formatstring eingefügt werden sollen

Rückflug

Logger – der Logger, für die Verkettung