Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trình ghi nhật ký
Lớp này cho phép nhà phát triển ghi vào Nhật ký thực thi và Google Cloud Logging nếu tập lệnh được liên kết với một Dự án trên Google Cloud tiêu chuẩn. Bạn nên sử dụng lớp này để ghi nhật ký có cấu trúc và hỗ trợ jsonPayload trong Cloud Logging. Để ghi nhật ký dựa trên thời gian, hãy sử dụng console.
Ghi một chuỗi được định dạng vào bảng điều khiển ghi nhật ký, sử dụng định dạng và giá trị được cung cấp.
Tài liệu chi tiết
clear()
Xoá nhật ký.
getLog()
Trả về danh sách đầy đủ các thông báo trong nhật ký hiện tại. Bạn có thể dùng phương thức này để lưu hoặc gửi email toàn bộ đầu ra nhật ký được tạo trong quá trình thực thi tập lệnh.
// Generate a log, then email it to the person who ran the script.constfiles=DriveApp.getFiles();while(files.hasNext()){Logger.log(files.next().getName());}constrecipient=Session.getActiveUser().getEmail();constsubject='A list of files in your Google Drive';constbody=Logger.getLog();MailApp.sendEmail(recipient,subject,body);
Cầu thủ trả bóng
String – nhật ký từ bảng điều khiển ghi nhật ký
log(data)
Ghi dữ liệu vào nhật ký. Dữ liệu có thể là một chuỗi, đối tượng JavaScript hoặc đối tượng có thuộc tính message.
Logger.log("my log message");// Info my logmessageLogger.log({key:"value"});// Info {key=value}Logger.log({message:"my log message",data:{key:"value"}})// Info my logmessage
Khi truyền một đối tượng, nếu đối tượng đó chứa thuộc tính message, thì thuộc tính đó sẽ được dùng làm thông điệp nhật ký. Nếu không, phương thức toString() sẽ được gọi để chuyển đổi đối tượng thành một chuỗi. Tất cả các thuộc tính khác có thể chuyển đổi tuần tự JSON đều được đưa vào jsonPayload trong LogEntry, tương tự như ví dụ bên dưới:
Ghi một chuỗi được định dạng vào bảng điều khiển ghi nhật ký, sử dụng định dạng và giá trị được cung cấp. Chuỗi này có thể bao gồm nhiều phần giữ chỗ %s, được thay thế bằng các giá trị tương ứng từ danh sách đối số, được chuyển đổi thành chuỗi.
// Log the number of Google Groups you belong to.constgroups=GroupsApp.getGroups();Logger.log('You are a member of %s Google Groups.',groups.length);
Tham số
Tên
Loại
Mô tả
format
String
một chuỗi định dạng chứa số lượng thực thể %s bằng số lượng đối số values
values
Object...
một số lượng giá trị biến để chèn vào chuỗi định dạng
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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"]]