Anda dapat mengirim laporan error ke Error Reporting dari aplikasi PHP menggunakan library Error Reporting untuk PHP. Gunakan library Pelaporan Error untuk PHP guna membuat grup error untuk kasus berikut:
- Bucket log yang berisi entri log Anda memiliki kunci enkripsi yang dikelola pelanggan (CMEK).
- Bucket log memenuhi salah satu hal berikut:
- Bucket log disimpan di project yang sama dengan tempat entri log berasal.
- Entri log dirutekan ke project, lalu project tersebut menyimpan entri log tersebut di bucket log yang dimilikinya.
- Anda ingin melaporkan peristiwa error kustom.
Pelaporan Error terintegrasi dengan beberapa layanan Google Cloud, seperti Cloud Functions dan App Engine, Compute Engine, dan Google Kubernetes Engine. Error Reporting menampilkan error yang dicatat ke dalam log Cloud Logging oleh aplikasi yang berjalan di layanan tersebut. Untuk mengetahui informasi selengkapnya, buka Berjalan di Google Cloud di halaman ini.
Anda juga dapat mengirim data error ke Error Reporting menggunakan Logging. Untuk informasi tentang persyaratan pemformatan data, baca Memformat pesan error di Logging.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Error Reporting API .
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Error Reporting API .
Menginstal library klien
Library Error Reporting untuk PHP memungkinkan Anda memantau dan melihat error yang dilaporkan oleh aplikasi PHP yang berjalan hampir di mana saja.
Untuk informasi selengkapnya tentang penginstalan, baca dokumentasi untuk library Pelaporan Error untuk PHP. Anda juga dapat melaporkan masalah menggunakan issue tracker.
Mengonfigurasi library klien
Anda dapat menyesuaikan perilaku library Pelaporan Error untuk PHP. Lihat konfigurasi library untuk mengetahui daftar opsi konfigurasi yang mungkin.
Menjalankan aplikasi di Google Cloud
Untuk membuat grup error menggunakan
projects.events.report
, akun layanan Anda memerlukan
peran Error Reporting Writer (roles/errorreporting.writer
).
Beberapa layanan Google Cloud secara otomatis memberikan peran Penulis Pelaporan Error (roles/errorreporting.writer
) ke akun layanan yang sesuai. Namun, Anda harus memberikan peran ini ke akun layanan
yang sesuai untuk beberapa layanan.
Cloud Run dan Cloud Run Functions
Akun layanan default yang digunakan oleh Cloud Run memiliki
izin peran Penulis Pelaporan Error (roles/errorreporting.writer
).
Library Pelaporan Error untuk PHP dapat digunakan tanpa perlu memberikan kredensial secara eksplisit.
Cloud Run dikonfigurasi untuk menggunakan Error Reporting secara otomatis. Pengecualian JavaScript yang tidak ditangani akan muncul di Logging dan diproses oleh Error Reporting tanpa perlu menggunakan library Error Reporting untuk PHP.
Lingkungan fleksibel App Engine
App Engine secara otomatis memberikan
peran Penulis Pelaporan Error (roles/errorreporting.writer
)
ke akun layanan default Anda.
Library Pelaporan Error untuk PHP dapat digunakan tanpa perlu memberikan kredensial secara eksplisit.
Untuk mengaktifkan Error Reporting di lingkungan fleksibel App Engine, ikuti langkah-langkah berikut:
Instal library yang diperlukan dengan perintah berikut:
$ composer require google/cloud-error-reporting
Tambahkan baris berikut ke bagian
runtime_config
diapp.yaml
:
Kemudian, library akan otomatis mengumpulkan semua error dan pengecualian yang tidak tertangkap ke Error Reporting. Jika Anda menggunakan Framework Web yang menginstal pengendali Pengecualian-nya sendiri, lihat bagian Integrations Framework untuk mengetahui informasi selengkapnya.
Google Kubernetes Engine
Untuk menggunakan Pelaporan Error dengan Google Kubernetes Engine, lakukan tindakan berikut:
Pastikan akun layanan yang akan digunakan oleh penampung Anda telah diberikan peran Error Reporting Writer (
roles/errorreporting.writer
).Anda dapat menggunakan akun layanan default Compute Engine atau akun layanan kustom.
Untuk mengetahui informasi tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Buat cluster dan berikan cakupan akses
cloud-platform
ke cluster.Misalnya, perintah pembuatan berikut menentukan cakupan akses
cloud-platform
dan akun layanan:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Untuk menggunakan Pelaporan Error dengan instance VM Compute Engine, lakukan langkah berikut:
Pastikan akun layanan yang akan digunakan oleh instance VM Anda telah diberikan peran Error Reporting Writer (
roles/errorreporting.writer
).Anda dapat menggunakan akun layanan default Compute Engine atau akun layanan kustom.
Untuk mengetahui informasi tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
-
Di Konsol Google Cloud, buka halaman Instance VM:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Compute Engine.
Pilih instance VM yang ingin Anda terima cakupan akses
cloud-platform
.Klik Berhenti, lalu klik Edit.
Di bagian Identity and API access, pilih akun layanan yang memiliki peran Error Reporting Writer (
roles/errorreporting.writer
).Di bagian Access scopes, pilih Allow full access to all Cloud APIs, lalu simpan perubahan Anda.
Klik Mulai/Lanjutkan.
Contoh
1. Instal library cloud dengan perintah berikut:
$ composer require google/cloud-error-reporting
php.ini
, dengan WORKSPACE adalah jalur absolut ke direktori utama ruang kerja Anda:
auto_prepend_file='/WORKSPACE/vendor/google/cloud-error-reporting/src/prepend.php'
File tambahan ini menginstal pengendali pengecualian dan pengendali error yang otomatis mengirim error ke Pelaporan Error.
Jika Anda menggunakan lingkungan fleksibel App Engine, lihat Lingkungan fleksibel App Engine di halaman ini.
Menjalankan aplikasi di lingkungan pengembangan lokal
Untuk menggunakan library Pelaporan Error untuk PHP di lingkungan pengembangan lokal, seperti menjalankan library di workstation Anda sendiri, Anda harus menyediakan library Pelaporan Error untuk PHP dengan kredensial default aplikasi lokal. Untuk mengetahui informasi selengkapnya, lihat Mengautentikasi ke Error Reporting.
Untuk menggunakan contoh PHP di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.
Metode projects.events.report
juga
mendukung kunci API.
Jika ingin menggunakan kunci API untuk autentikasi, Anda tidak perlu
menyiapkan file Kredensial Default Aplikasi lokal.
Untuk informasi selengkapnya, lihat
Membuat kunci API
dalam dokumentasi autentikasi Google Cloud.
Melihat laporan error
Di konsol Google Cloud, buka halaman Pelaporan Error:
Anda juga dapat menemukan halaman ini menggunakan kotak penelusuran.
Untuk mengetahui informasi selengkapnya, lihat Melihat Error.
Integrasi Framework
Beberapa framework web mengganti pengendali pengecualian. Berikut adalah contoh untuk
mengaktifkan Pelaporan Error dengan Laravel dan Symfony. Untuk framework
lain, Anda dapat menggunakan
Google\Cloud\ErrorReporting\Bootstrap::exceptionHandler
sebagai pengendali
pengecualian.
Laravel
Edit fungsi report
di file app/Exceptions/Handler.php
sebagai berikut:
Anda juga perlu menambahkan pernyataan use
satu baris di awal file:
use Google\Cloud\ErrorReporting\Bootstrap;
Symfony
Buat file baru src/AppBundle/EventSubscriber/ExceptionSubscriber.php
dengan
konten berikut: