Class Logger

Logger

Cette classe permet au développeur d'écrire dans le journal d'exécution et dans Google Cloud Logging si le script est associé à un projet Cloud standard. Cette classe est recommandée pour la journalisation structurée et la compatibilité avec jsonPayload dans Cloud Logging. Pour la journalisation basée sur le temps, utilisez console.

Méthodes

MéthodeType renvoyéBrève description
clear()voidEfface le journal.
getLog()StringRenvoie la liste complète des messages du journal actuel.
log(data)LoggerÉcrit les données dans le journal.
log(format, values)LoggerÉcrit une chaîne formatée dans la console de journalisation, en utilisant le format et les valeurs fournis.

Documentation détaillée

clear()

Efface le journal.


getLog()

Renvoie la liste complète des messages du journal actuel. Cette méthode permet d'enregistrer ou d'envoyer par e-mail l'intégralité de la sortie de journal générée lors de l'exécution du script.

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

Renvois

String : journal de la console de journalisation


log(data)

Écrit les données dans le journal. Les données peuvent être une chaîne, un objet JavaScript ou un objet avec une propriété 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

Lorsque vous transmettez un objet, si celui-ci contient une propriété message, cette propriété est utilisée comme message de journal. Sinon, la méthode toString() est appelée pour convertir l'objet en chaîne. Toutes les autres propriétés sérialisables au format JSON sont incluses dans jsonPayload dans LogEntry, comme dans l'exemple ci-dessous:

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

Paramètres

NomTypeDescription
dataObjectl'objet à consigner

Renvois

Logger : le journal, pour le chaînage.


log(format, values)

Écrit une chaîne formatée dans la console de journalisation, en utilisant le format et les valeurs fournis. La chaîne peut inclure plusieurs espaces réservés %s, qui sont remplacés par les valeurs correspondantes de la liste d'arguments, converties en chaînes.

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

Paramètres

NomTypeDescription
formatStringune chaîne de format contenant autant d'instances de %s que le nombre d'arguments values
valuesObject...un nombre variable de valeurs à insérer dans la chaîne de format

Renvois

Logger : le journal, pour le chaînage