Topik ini menjelaskan cara mencetak dan melihat log dalam waktu proses PHP.
Pencetatan log
Function Compute menyediakan modul pencatatan bawaan. Jika fungsi Anda dibuat menggunakan waktu proses bawaan, Anda dapat menggunakan modul pencatatan bawaan dengan $GLOBALS['fcLogger'] untuk mencetak log dan mengumpulkan log yang dicetak ke Layanan Log Sederhana Logstore yang Anda tentukan saat membuat layanan. Jika fungsi Anda dibuat menggunakan metode lain, Anda dapat menggunakan metode yang disediakan oleh PHP untuk mencetak log.
Log levels
Anda dapat memanggil metode setLevel untuk menentukan tingkat log yang ingin Anda cetak. Tabel berikut menjelaskan tingkat log berdasarkan tingkat keparahan dari tinggi ke rendah.
Tingkat log | Tingkat | Operasi | 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 (tingkat keparahan default) | 200 |
| Detail output |
DEBUG | 100 |
| Log debugging |
Use the built-in log module to print logs
Jika Anda menggunakan metode ini untuk mencetak log, setiap log berisi 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 sebelumnya, tingkat log default digunakan untuk mencetak dua log, lalu tingkat log default diubah untuk mengeluarkan satu log.
Log berikut dicetak setelah Anda menjalankan kode sebelumnya:
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 cetak 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-455a04xxxxxxAnda dapat mengganti fungsi pencetakan log dalam contoh sebelumnya dengan fungsi lain yang menghasilkan output standar dan pesan kesalahan standar.
Lihat log
Setelah fungsi dieksekusi, Anda dapat melihat log di tab Logs pada halaman detail fungsi. Untuk informasi lebih lanjut, lihat Lihat log pemanggilan.