Topik ini menjelaskan cara mencetak dan melihat log dalam runtime PHP.
Mencetak log
Function Compute menyediakan modul logger bawaan. Jika fungsi Anda dibuat menggunakan runtime bawaan, Anda dapat menggunakan modul logger tersebut untuk mencetak log dan mengumpulkan log yang dicetak ke Simple Log Service Logstore yang ditentukan saat membuat layanan dengan memanfaatkan $GLOBALS['fcLogger']. Jika fungsi Anda dibuat menggunakan metode lain, Anda dapat menggunakan metode pencatatan PHP yang sesuai untuk mencetak log.
Log levels
Anda dapat memanggil metode setLevel untuk menentukan tingkat log yang ingin dicetak. Tabel berikut menjelaskan tingkat log dalam urutan penurunan tingkat keparahan.
Tingkat log | Tingkat | Antarmuka | Deskripsi |
EMERGENCY | 600 |
| Log darurat |
ALERT | 550 |
| Log peringatan |
CRITICAL | 500 |
| Peringatan kritis |
ERROR | 400 |
| Pesan kesalahan |
WARNING | 300 |
| Peringatan |
NOTICE | 250 |
| Pemberitahuan dan log umum |
INFO (default) | 200 |
| Detail keluaran |
DEBUG | 100 |
| Log debugging |
Use the built-in logger module to print logs
Jika Anda menggunakan metode ini untuk mencetak log, setiap log akan mencakup informasi seperti waktu, ID permintaan, dan tingkat log. Contoh kode berikut menunjukkan cara mencetak log:
<?php
function handler($event, $context) {
$logger = $GLOBALS['fcLogger'];
$logger->info('hello world');
$logger->critical('world hello');
$logger->setLevel(500);
$logger->info('hello world 2');
$logger->critical('world hello 2');
return 'hello world';
}
Dalam contoh di atas, tingkat log default digunakan untuk mengeluarkan dua log, kemudian tingkat log default diubah untuk mengeluarkan hanya satu log.
Setelah menjalankan kode sebelumnya, konten berikut akan dicetak:
FunctionCompute php7.2 runtime inited.
FC Invoke Start RequestId: 1-659xxxxx-16cxxxxx-39659xxxxxx
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [INFO] hello world
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [CRITICAL] world hello
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [CRITICAL] world hello 2
\nFC Invoke End RequestId: 1-659xxxxx-16cxxxxx-39659xxxxxxUse the log printing function to print logs
Jika Anda menggunakan perintah pencetakan panjang untuk mencetak log, isi log tersebut akan dicetak. Contoh kode:
<?php
function handler($event, $context) {
var_dump("abcd");
echo "abcd 2\n";
fwrite(STDERR, "error\n");
return 'hello world';
}Contoh keluaran:
FunctionCompute php7.2 runtime inited.
FC Invoke Start RequestId: 1-659xxxxx-165xxxxx-455a04xxxxxx
/code/index.php:4:
string(4) "abcd"
abcd 2
error
\nFC Invoke End RequestId: 1-659xxxxx-165xxxxx-455a04xxxxxxDalam contoh di atas, fungsi pencetakan log juga dapat diganti dengan fungsi lain yang menghasilkan keluaran standar dan kesalahan standar.
Lihat log
Setelah fungsi dieksekusi, Anda dapat melihat log fungsi tersebut di tab Logs pada halaman Detail Fungsi. Untuk informasi lebih lanjut, lihat Lihat Log Pemanggilan.