Class Logger

  • The Logger class is used to write to the Execution log and Google Cloud Logging, especially for structured logging and JSON payloads.

  • Use the clear() method to clear the log and getLog() to retrieve all messages in the current log.

  • The log() method can write various data types to the log, including strings, JavaScript objects, or objects with a message property.

  • The log() method also supports writing formatted strings to the log using placeholders and values.

Logger

This class allows the developer to write to the Execution log and to Google Cloud Logging if the script is associated with a standard Cloud Project . This class is preferred for structured logging and json Payload support in Cloud Logging. For time-based logging, use console .

Methods

Method Return type Brief description
void Clears the log.
String Returns a complete list of messages in the current log.
Logger Writes the data to the log.
Logger Writes a formatted string to the logging console, using the format and values provided.

Detailed documentation

clear()

Clears the log.


get Log()

Returns a complete list of messages in the current log. This method can be used to save or email the entire log output generated during script execution.

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

Return

String — the log from the logging console


log(data)

Writes the data to the log. The data can be a string, a JavaScript object, or an object with a message property.

 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 

When passing an object, if the object contains a message property, that property is used as the log message. Otherwise, the to String() method is called to convert the object to a string. All other properties which are JSON serializable are included as part of the json Payload in the Log Entry , similar to the example below:

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

Parameters

Name Type Description
data
Object the object to log

Return

Logger — the Logger, for chaining.


log(format, values)

Writes a formatted string to the logging console, using the format and values provided. The string can include multiple %s placeholders, which are replaced with corresponding values from the list of arguments, converted to strings.

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

Parameters

Name Type Description
format
String a format string that contains as many instances of %s as the number of values arguments
values
Object... a variable number of values to insert into the format string

Return

Logger — the Logger, for chaining

Design a Mobile Site
View Site in Mobile | Classic
Share by: