Class Logger

Logger

Mit dieser Klasse kann der Entwickler in das Ausführungsprotokoll und in Google Cloud Logging schreiben, wenn das Skript 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()voidLöscht das Protokoll.
getLog()StringGibt eine vollständige Liste der Nachrichten im aktuellen Log zurück.
log(data)LoggerSchreibt die Daten in das Log.
log(format, values)LoggerSchreibt einen formatierten String in die Logging-Konsole, wobei das angegebene Format und die angegebenen Werte verwendet werden.

Detaillierte Dokumentation

clear()

Löscht das Protokoll.


getLog()

Gibt eine vollständige Liste der Nachrichten im aktuellen Log zurück. Mit dieser Methode kann die gesamte Logausgabe, die während der Skriptausführung generiert wird, gespeichert oder per E-Mail gesendet werden.

// 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 Log aus der Logging-Konsole


log(data)

Schreibt die Daten in das Log. Die Daten können ein String, ein JavaScript-Objekt oder ein Objekt mit der Eigenschaft message 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 Sie ein Objekt übergeben und dieses eine message-Property enthält, wird diese Property als Log-Nachricht verwendet. Andernfalls wird die Methode toString() aufgerufen, um das Objekt in einen String zu konvertieren. Alle anderen Attribute, die in JSON serialisiert werden können, sind als Teil von jsonPayload in LogEntry enthalten, ähnlich dem Beispiel unten:

{
  "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 in die Logging-Konsole, wobei das angegebene Format und die angegebenen Werte verwendet werden. Der String kann mehrere %s-Platzhalter enthalten, die durch entsprechende Werte aus der Liste der Argumente ersetzt werden, die in Strings konvertiert 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
formatStringEin Formatstring, der so viele Instanzen von %s enthält wie die Anzahl der values-Argumente
valuesObject...Eine variable Anzahl von Werten, die in den Formatstring eingefügt werden sollen

Rückflug

Logger – der Logger für die Verkettung