Class Logger

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

Create a Mobile Website
View Site in Mobile | Classic
Share by: