Saat mengembangkan jenis aplikasi apa pun, Anda sering kali ingin mencatat informasi ke dalam log untuk membantu mendiagnosis kesalahan selama pengembangan, mengidentifikasi dan mendiagnosis masalah pelanggan, serta untuk tujuan lainnya.
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 dalam waktu singkat.
Antarmuka Cloud Logging di Konsol Developer, yang menyediakan log yang tetap ada selama berhari-hari setelah dibuat.
Antarmuka Error Reporting di Konsol Play, yang mengumpulkan dan mencatat error yang terjadi saat skrip Anda berjalan.
Hal ini dijelaskan di bagian berikut. Selain mekanisme ini, Anda juga dapat mem-build kode logger Anda sendiri yang, misalnya, menulis informasi ke Spreadsheet logging atau database JDBC.
Menggunakan log eksekusi Apps Script
Pendekatan dasar untuk logging di Apps Script adalah menggunakan log eksekusi bawaan. Untuk melihat log ini, di bagian atas editor, klik Execution log. Saat Anda menjalankan fungsi atau menggunakan debugger, log akan mengalir secara real time.
Anda dapat menggunakan layanan logging Logger
atau
console
di
log eksekusi bawaan.
Log ini dimaksudkan untuk pemeriksaan sederhana selama pengembangan dan proses debug, dan tidak bertahan lama.
Misalnya, pertimbangkan fungsi ini:
Jika skrip ini dijalankan dengan input "2" dan "john@example.com", log berikut akan 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 layanan Cloud Logging Google Cloud Platform (GCP). Jika Anda memerlukan logging yang bertahan selama beberapa hari, atau membutuhkan solusi logging yang lebih kompleks untuk lingkungan produksi multi-pengguna, Cloud Logging adalah pilihan yang lebih baik. Lihat kuota dan batas Cloud Logging untuk mengetahui retensi data dan detail kuota lainnya.
Jika memerlukan kuota logging lebih banyak, Anda dapat mengirimkan permintaan kuota Google Cloud Platform. Untuk itu, Anda harus memiliki akses ke project Cloud Platform yang digunakan skrip Anda.
Menggunakan Cloud Logging
Log cloud dilampirkan ke project Google Cloud yang terkait dengan Apps Script Anda. Anda dapat melihat versi sederhana dari log ini di dasbor Apps Script.
Untuk memanfaatkan Cloud Logging dan kemampuannya secara maksimal, gunakan project Google Cloud standar dengan project skrip Anda. Hal ini memungkinkan Anda mengakses log Cloud langsung di GCP Console dan memberi Anda lebih banyak opsi tampilan dan pemfilteran.
Saat melakukan logging, sebaiknya jangan mencatat informasi pribadi apa pun tentang pengguna, seperti alamat email. Log cloud otomatis diberi label dengan kunci pengguna aktif yang dapat Anda gunakan untuk menemukan pesan log pengguna tertentu jika diperlukan.
Anda dapat mencatat string, string berformat, dan bahkan objek JSON ke dalam log menggunakan
fungsi yang disediakan oleh layanan
console
Apps Script.
Contoh berikut menunjukkan cara menggunakan layanan console
untuk mencatat informasi ke dalam log di Cloud Operations.
Kunci pengguna aktif
Kunci pengguna aktif sementara memberikan cara mudah untuk menemukan pengguna unik di entri Log Cloud tanpa mengungkapkan identitas pengguna tersebut. Kunci adalah per skrip dan berubah sekitar sebulan sekali untuk memberikan keamanan tambahan jika pengguna mengungkapkan identitasnya kepada developer, misalnya saat melaporkan masalah.
Kunci pengguna aktif sementara lebih unggul dibandingkan ID pencatatan log seperti alamat email karena:
- Anda tidak perlu menambahkan apa pun ke pencatatan log; mereka sudah ada di sana!
- Eksperimen tidak memerlukan otorisasi pengguna.
- Keduanya melindungi privasi pengguna.
Untuk menemukan kunci pengguna aktif sementara dalam entri Log Cloud Anda, lihat log Cloud Anda di Google Cloud Console. Anda hanya dapat melakukan hal ini jika project skrip Anda menggunakan project Google Cloud standar yang dapat Anda akses. Setelah Anda membuka project Google Cloud di konsol, pilih entri log yang diinginkan, lalu luaskan untuk melihat metadata >labels >script.googleapis.com/user_key.
Anda juga bisa mendapatkan kunci pengguna aktif sementara dengan memanggil
Session.getTemporaryActiveUserKey()
dalam skrip Anda. Salah satu cara untuk menggunakan metode ini adalah dengan menampilkan kunci tersebut kepada pengguna saat mereka menjalankan skrip Anda. Kemudian pengguna dapat memilih untuk menyertakan kunci mereka
saat melaporkan masalah untuk membantu Anda mengidentifikasi log yang relevan.
Logging pengecualian
Logging pengecualian mengirimkan pengecualian yang tidak tertangani dalam kode project skrip Anda ke Cloud Logging, bersama dengan stack trace.
Untuk melihat log pengecualian, ikuti langkah-langkah di bawah:
- Buka project Apps Script.
- Di sebelah kiri, klik Eksekusi .
- Di bagian atas, klik Tambahkan filter > Status.
- Centang kotak Gagal dan Waktu habis.
Anda juga dapat melihat pengecualian yang dicatat ke dalam log di GCP Console jika project skrip Anda menggunakan project Google Cloud standar yang dapat Anda akses.
Aktifkan logging pengecualian
Logging pengecualian diaktifkan secara default untuk project baru. Guna mengaktifkan logging pengecualian untuk project lama, ikuti langkah-langkah di bawah ini:
- Buka project skrip.
- Di sebelah kiri, klik Setelan Project .
- Pilih kotak centang Log pengecualian yang tidak tertangkap ke Cloud Operations.
Error Reporting
Logging pengecualian otomatis terintegrasi dengan Cloud Error Reporting, yaitu layanan yang menggabungkan dan menampilkan error yang dihasilkan dalam skrip Anda. Anda dapat melihat laporan error Cloud di Konsol Google Cloud. Jika Anda diminta "Menyiapkan Error Reporting", hal ini karena skrip Anda belum mencatat pengecualian apa pun. Anda tidak perlu melakukan penyiapan selain mengaktifkan logging pengecualian.
Persyaratan logging
Tidak ada persyaratan untuk menggunakan log eksekusi bawaan.
Anda dapat melihat versi sederhana log Cloud di dasbor Apps Script. Namun, untuk memaksimalkan Cloud Logging dan pelaporan error, Anda harus memiliki akses ke project GCP dari skrip tersebut. Hal ini hanya mungkin jika project skrip Anda menggunakan project Google Cloud standar.