Class Logger
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
المسجِّل
تسمح هذه الفئة للمطوّر بالكتابة في سجلّ التنفيذ وسجلّات Google Cloud إذا كان النص البرمجي مرتبطًا
بمشروع عادي
على Cloud. يُفضّل استخدام هذه الفئة للتسجيل المنظَّم وjsonPayload
دعم
في Cloud Logging. لتسجيل البيانات بالاستناد إلى الوقت، استخدِم console
.
الطُرق
الطريقة | نوع القيمة التي يتم عرضها | وصف قصير |
clear() | void | يمحو السجلّ. |
getLog() | String | تعرِض هذه الدالة قائمة كاملة بالرسائل في السجلّ الحالي. |
log(data) | Logger | كتابة البيانات في السجلّ |
log(format, values) | Logger | يُستخدَم لكتابة سلسلة منسَّقة في وحدة تحكّم التسجيل، باستخدام التنسيق والقيم المقدَّمة. |
مستندات تفصيلية
getLog()
تعرِض هذه الدالة قائمة كاملة بالرسائل في السجلّ الحالي. يمكن استخدام هذه الطريقة لحفظ ناتج السجلّ بالكامل الذي تم إنشاؤه أثناء تنفيذ النص البرمجي أو
إرساله بالبريد الإلكتروني.
// 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);
الإرجاع
String
: السجلّ من وحدة تحكّم التسجيل
log(data)
كتابة البيانات في السجلّ يمكن أن تكون البيانات سلسلة أو عنصر JavaScript أو عنصرًا يتضمّن سمة
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
عند تمرير عنصر، إذا كان العنصر يحتوي على سمة message
، يتم
استخدام هذه السمة كرسالة السجلّ. بخلاف ذلك، يتم استدعاء الطريقة toString()
لتحويل
العنصر إلى سلسلة. يتم تضمين كل السمات الأخرى التي يمكن تسلسلها باستخدام JSON كجزء من
jsonPayload
في LogEntry
، على غرار المثال أدناه:
{
"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"
}
المعلمات
الاسم | النوع | الوصف |
data | Object | العنصر المطلوب تسجيله |
الإرجاع
Logger
: المسجّل، لإنشاء سلاسل.
يُستخدَم لكتابة سلسلة منسَّقة في وحدة تحكّم التسجيل، باستخدام التنسيق والقيم المقدَّمة. يمكن أن تتضمّن السلسلة
عناصر نائبة متعددة من النوع %s
، ويتم استبدالها بالقيم
المقابلة لها من قائمة الوسيطات التي تم تحويلها إلى سلاسل.
// 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);
المعلمات
الاسم | النوع | الوصف |
format | String | سلسلة تنسيق تحتوي على عدد مرات ظهور %s يساوي عدد values |
values | Object... | عدد متغيّر من القيم لإدراجها في سلسلة التنسيق |
الإرجاع
Logger
— المسجّل، لتسلسل الطلبات
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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"]]