Saat mengembangkan jenis aplikasi apa pun, Anda sering kali ingin mencatat informasi ke dalam log untuk membantu mendiagnosis kesalahan selama pengembangan, untuk mengidentifikasi dan mendiagnosis masalah pelanggan, dan untuk tujuan lain.
Apps Script menyediakan tiga mekanisme berbeda untuk logging:
Log eksekusi Apps Script bawaan. Log ini ringan dan melakukan streaming secara real time, tetapi hanya bertahan selama dalam waktu singkat.
Antarmuka Cloud Logging di Konsol Play, yang menyediakan log selama beberapa hari setelah pembuatan konten.
Antarmuka Error Reporting di Konsol Play, yang mengumpulkan dan mencatat error yang terjadi saat skrip berjalan.
Hal ini dijelaskan di bagian berikut. Selain mekanisme ini, Anda juga dapat membangun kode pencatat log Anda sendiri yang, misalnya, menulis informasi ke Spreadsheet logging atau database JDBC.
Menggunakan log eksekusi Apps Script
Pendekatan dasar untuk masuk ke Apps Script adalah menggunakan skrip bawaan log eksekusi. Untuk melihat log ini, di bagian atas editor, klik Execution log. Saat Anda menjalankan suatu fungsi atau menggunakan debugger, aliran log secara {i>real time<i}.
Anda dapat menggunakan Logger
atau
Layanan logging console
di
log eksekusi bawaan.
Log ini dimaksudkan untuk pemeriksaan sederhana selama pengembangan dan {i>debugging<i}, dan tidak bertahan lama.
Misalnya, pertimbangkan fungsi ini:
Jika skrip ini dijalankan dengan input "2" dan "john@example.com" tindakan log berikut ini ditulis:
[16-09-12 13:50:42:193 PDT] Mengirim data baris 2 melalui email ke john@example.com
[16-09-12 13:50:42:271 PDT] Data baris 2: Biaya 103,24
Cloud Logging
Apps Script juga menyediakan akses sebagian ke Google Cloud Platform (GCP) Cloud Logging. Jika Anda memerlukan pencatatan yang berlangsung selama beberapa hari, atau membutuhkan pencatatan yang lebih kompleks untuk lingkungan produksi multi-pengguna, sebaiknya gunakan Cloud Logging pilihan. Lihat kuota dan batas Cloud Logging untuk retensi data dan detail kuota lainnya.
Jika Anda memerlukan lebih banyak kuota {i>logging<i}, Anda dapat kirim permintaan kuota Google Cloud Platform. Tindakan ini mengharuskan Anda memiliki akses ke Project Cloud Platform yang digunakan skrip.
Menggunakan Cloud Logging
Log cloud dilampirkan ke project Google Cloud yang terkait dengan Apps Script Anda. Anda dapat melihat versi sederhananya log di dasbor Apps Script.
Untuk memaksimalkan penggunaan Cloud Logging dan kemampuannya, gunakan project Google Cloud standar dengan proyek skrip Anda. Ini memungkinkan Anda mengakses log Cloud langsung di Konsol GCP dan memberi Anda lebih banyak opsi tampilan dan pemfilteran.
Saat mencatat, sebaiknya Anda tidak melakukan pencatatan data informasi tentang pengguna, seperti alamat email. Log cloud diberi label secara otomatis dengan kunci pengguna aktif yang dapat Anda gunakan untuk menemukan pesan log pengguna tertentu jika diperlukan.
Anda bisa mencatat log string, string berformat, dan bahkan objek JSON menggunakan
fungsi yang disediakan oleh Apps Script
Layanan console
.
Contoh berikut menunjukkan cara menggunakan console
untuk mencatat informasi log di Cloud Operations.
Kunci pengguna aktif
Kunci pengguna aktif sementara memberikan cara mudah untuk menemukan pengguna unik di Entri Cloud Log tanpa mengungkapkan identitas pengguna tersebut. Kunci per skrip dan berubah kira-kira sebulan sekali untuk memberikan keamanan tambahan haruskah pengguna mengungkapkan identitasnya kepada pengembang, misalnya saat melaporkan atau masalah.
Kunci pengguna aktif sementara lebih unggul daripada ID logging seperti email karena:
- Anda tidak perlu menambahkan apa pun ke {i>logging<i} Anda; mereka sudah ada di sana!
- Otorisasi tidak memerlukan otorisasi pengguna.
- Mereka melindungi privasi pengguna.
Untuk menemukan kunci pengguna aktif sementara dalam entri Cloud Log Anda, melihat log Cloud Anda di konsol Google Cloud. Anda dapat melakukan ini hanya jika proyek skrip Anda menggunakan project Google Cloud standar yang dapat Anda akses. Setelah membuka project Google Cloud di konsol, pilih entri log yang diinginkan dan luaskan untuk melihat metadata > label > script.googleapis.com/user_key.
Anda juga bisa mendapatkan kunci pengguna aktif sementara dengan memanggil
Session.getTemporaryActiveUserKey()
dalam naskah. Salah satu cara untuk menggunakan metode ini adalah menampilkan kunci kepada pengguna
saat mereka menjalankan skrip Anda. Kemudian, pengguna dapat memilih untuk menyertakan kunci
saat melaporkan masalah untuk membantu Anda mengidentifikasi log yang relevan.
Logging pengecualian
Logging pengecualian mengirim pengecualian yang tidak tertangani dalam kode project skrip Anda ke Cloud Logging, beserta stack trace.
Untuk melihat log pengecualian, ikuti langkah-langkah di bawah:
- Buka project Apps Script.
- Di sebelah kiri, klik Executions .
- Di bagian atas, klik Tambahkan filter > Status.
- Centang kotak Failed dan Timed out.
Anda juga dapat melihat pengecualian yang dicatat dalam log di konsol GCP jika proyek skrip Anda menggunakan project Google Cloud standar yang dapat Anda akses.
Mengaktifkan logging pengecualian
Logging pengecualian diaktifkan secara default untuk project baru. Untuk mengaktifkan pengecualian untuk project lama, ikuti langkah-langkah di bawah ini:
- Buka project skrip.
- Di sebelah kiri, klik Project Settings .
- Centang kotak Masukkan pengecualian yang tidak tertangkap ke Cloud Operations.
Error Reporting
Pencatatan log pengecualian secara otomatis terintegrasi dengan Cloud Error Reporting, layanan yang menggabungkan dan menampilkan {i>error<i} yang dihasilkan dalam skrip Anda. Anda dapat melihat laporan error Cloud Anda di Konsol Google Cloud. Jika Anda diminta untuk "Menyiapkan Error Reporting" hal ini karena skrip Anda belum mencatat pengecualian apa pun. Tidak diperlukan penyiapan selain mengaktifkan logging pengecualian.
Persyaratan logging
Tidak ada persyaratan untuk menggunakan log eksekusi bawaan.
Anda dapat melihat versi log Cloud yang disederhanakan di Dasbor Apps Script. Namun, untuk memaksimalkan Cloud Logging dan pelaporan error, Anda harus memiliki akses ke project GCP dari skrip. Hal ini hanya mungkin jika project skrip Anda menggunakan project Google Cloud standar.