Class Logger
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Logger
Esta clase permite que el desarrollador escriba en el registro de ejecución y en Cloud Logging de Google si la secuencia de comandos está asociada con un proyecto de Cloud estándar. Esta clase es preferible para el registro estructurado y la compatibilidad con jsonPayload
en Cloud Logging. Para el registro basado en el tiempo, usa console
.
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
clear() | void | Borra el registro. |
getLog() | String | Muestra una lista completa de los mensajes del registro actual. |
log(data) | Logger | Escribe los datos en el registro. |
log(format, values) | Logger | Escribe una cadena con formato en la consola de registro con el formato y los valores proporcionados. |
Documentación detallada
getLog()
Muestra una lista completa de los mensajes del registro actual. Este método se puede usar para guardar o enviar por correo electrónico todo el resultado del registro generado durante la ejecución de la secuencia de comandos.
// 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);
Volver
String
: Es el registro de la consola de registro.
log(data)
Escribe los datos en el registro. Los datos pueden ser una cadena, un objeto JavaScript o un objeto con una propiedad 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
Cuando pasas un objeto, si este contiene una propiedad message
, esa propiedad se
usa como el mensaje de registro. De lo contrario, se llama al método toString()
para convertir el objeto en una cadena. Todas las demás propiedades que se pueden serializar en JSON se incluyen como parte de jsonPayload
en LogEntry
, de manera similar al siguiente ejemplo:
{
"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"
}
Parámetros
Nombre | Tipo | Descripción |
data | Object | el objeto que se registrará |
Volver
Logger
: Es el registrador para encadenar.
Escribe una cadena con formato en la consola de registro con el formato y los valores proporcionados. La cadena puede incluir varios marcadores de posición %s
, que se reemplazan por los valores correspondientes de la lista de argumentos convertidos en cadenas.
// 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);
Parámetros
Nombre | Tipo | Descripción |
format | String | una cadena de formato que contiene tantas instancias de %s como la cantidad de argumentos values |
values | Object... | Una cantidad variable de valores para insertar en la cadena de formato |
Volver
Logger
: Es el registrador para encadenar.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
[null,null,["Última actualización: 2025-07-26 (UTC)"],[[["\u003cp\u003eThe \u003ccode\u003eLogger\u003c/code\u003e class enables developers to write text to debugging logs for script analysis and troubleshooting.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to clear the log, retrieve the entire log as a string, and write formatted or unformatted messages to the log.\u003c/p\u003e\n"],["\u003cp\u003eLogged output can be viewed within the Apps Script editor using "View > Show logs" and utilized for debugging purposes.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetLog()\u003c/code\u003e method allows for capturing the log content, which can then be used for saving, emailing, or further processing.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can leverage format strings and values to create structured log messages using the \u003ccode\u003elog(format, values)\u003c/code\u003e method.\u003c/p\u003e\n"]]],[],null,["# Class Logger\n\nLogger\n\nThis class allows the developer to write to the Execution log and to [Google Cloud Logging](https://cloud.google.com/logging) if the script is associated with\na [standard\nCloud Project](https://developers.google.com/apps-script/guides/cloud-platform-projects#standard). This class is preferred for structured logging and `json``Payload` support\nin Cloud Logging. For time-based logging, use [console](/apps-script/reference/base/console). \n\n### Methods\n\n| Method | Return type | Brief description |\n|-----------------------------------------------|-------------|-----------------------------------------------------------------------------------------|\n| [clear()](#clear()) | `void` | Clears the log. |\n| [getLog()](#getLog()) | `String` | Returns a complete list of messages in the current log. |\n| [log(data)](#log(Object)) | [Logger](#) | Writes the data to the log. |\n| [log(format, values)](#log(String,Object...)) | [Logger](#) | Writes a formatted string to the logging console, using the format and values provided. |\n\nDetailed documentation\n----------------------\n\n### `clear()`\n\nClears the log.\n\n*** ** * ** ***\n\n### `get``Log()`\n\nReturns a complete list of messages in the current log. This method can be used to save or\nemail the entire log output generated during script execution.\n\n```javascript\n// Generate a log, then email it to the person who ran the script.\nconst files = DriveApp.getFiles();\nwhile (files.hasNext()) {\n Logger.log(files.next().getName());\n}\nconst recipient = Session.getActiveUser().getEmail();\nconst subject = 'A list of files in your Google Drive';\nconst body = Logger.getLog();\nMailApp.sendEmail(recipient, subject, body);\n```\n\n#### Return\n\n\n`String` --- the log from the logging console\n\n*** ** * ** ***\n\n### `log(data)`\n\nWrites the data to the log. The data can be a string, a JavaScript object, or an object with a\n`message` property.\n\n```javascript\nLogger.log(\"my log message\");\n// Info my logmessage\nLogger.log({ key: \"value\" });\n// Info {key=value}\nLogger.log({ message: \"my log message\", data: { key: \"value\" } })\n// Info my logmessage\n```\n\nWhen passing an object, if the object contains a `message` property, that property is\nused as the log message. Otherwise, the `to``String()` method is called to convert the\nobject to a string. All other properties which are JSON serializable are included as part of\nthe `json``Payload` in the [`Log``Entry`](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry), similar to the example below:\n\n```transact-sql\n{\n \"insertId\": \"w5eib...\",\n \"jsonPayload\": {\n \"message\": \"my log message\",\n \"serviceContext\": {\n \"service\": \"AKfyc...\"\n },\n \"data\": {\n \"key\": \"value\"\n }\n },\n \"resource\": {\n \"type\": \"app_script_function\",\n \"labels\": {\n \"invocation_type\": \"editor\",\n \"function_name\": \"unknown\",\n \"project_id\": \"1234567890\"\n }\n },\n \"timestamp\": \"2024-11-15T23:28:19.448591Z\",\n \"severity\": \"INFO\",\n \"labels\": {\n \"script.googleapis.com/user_key\": \"AOX2d...\",\n \"script.googleapis.com/process_id\": \"EAEA1...\",\n \"script.googleapis.com/project_key\": \"MQXvl...\",\n \"script.googleapis.com/deployment_id\": \"AKfyc...\"\n },\n \"logName\": \"projects/[PROJECT_ID]/logs/script.googleapis.com%2Fconsole_logs\",\n \"receiveTimestamp\": \"2024-11-15T23:28:20.363790313Z\"\n}\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|--------|----------|-------------------|\n| `data` | `Object` | the object to log |\n\n#### Return\n\n\n[Logger](#) --- the Logger, for chaining.\n\n*** ** * ** ***\n\n### `log(format, values)`\n\nWrites a formatted string to the logging console, using the format and values provided. The\nstring can include multiple `%s` placeholders, which are replaced with corresponding\nvalues from the list of arguments, converted to strings.\n\n```javascript\n// Log the number of Google Groups you belong to.\nconst groups = GroupsApp.getGroups();\nLogger.log('You are a member of %s Google Groups.', groups.length);\n```\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|-------------|---------------------------------------------------------------------------------------------|\n| `format` | `String` | a format string that contains as many instances of `%s` as the number of `values` arguments |\n| `values` | `Object...` | a variable number of values to insert into the format string |\n\n#### Return\n\n\n[Logger](#) --- the Logger, for chaining"]]