Function Compute meneruskan seluruh output stdout dari fungsi Node.js Anda ke Logstore Simple Log Service (SLS) yang telah dikonfigurasi saat pembuatan layanan tersebut. Gunakan log untuk men-debug masalah, melacak eksekusi permintaan, dan memantau kinerja fungsi.
Cara kerja
Terdapat tiga metode untuk menulis ke stdout, masing-masing menghasilkan format output yang berbeda:
| Metode | Tingkat log | Format output |
|---|---|---|
process.stdout.write | (tidak ada) | Teks mentah, persis seperti yang ditulis |
console.log | silly | Timestamp + ID permintaan + tingkat log + pesan |
context.logger | Dapat dikonfigurasi (info, warn, error, dan lainnya) | Timestamp + ID permintaan + tingkat log + pesan |
Cetak log
Contoh berikut menunjukkan ketiga metode dalam satu penanganan. Pilih modul ECMAScript (ESM) atau CommonJS (CJS) sesuai pengaturan proyek Anda.
Penanganan ESM
Catatan: Sintaksis ESM memerlukan Node.js 18 atau versi lebih baru.
export const handler = async (event, context) => {
process.stdout.write('hi,fc\n');
console.log('hello,world');
context.logger.info('hello,fc');
return "Hello World!";
};Penanganan CJS
'use strict';
exports.handler = (event, context, callback) => {
process.stdout.write('hi,fc\n');
console.log('hello,world');
context.logger.info('hello,fc');
callback(null, 'hello,world');
};Format output log
process.stdout.write
Menulis string persis seperti yang diberikan, tanpa menambahkan timestamp, ID permintaan, atau tingkat log.
hi,fcGunakan metode ini jika Anda memerlukan kendali penuh atas format output atau sedang menulis data terstruktur yang dapat rusak bila ditambahkan bidang tambahan.
console.log
Menambahkan awalan berupa timestamp, ID permintaan, dan tingkat log silly pada pesan.
2023-04-01T10:04:19.024Z 19b394a3-4fff-480c-9b5c-cbdfd6952f4e [silly] hello,world| Bidang | Nilai contoh |
|---|---|
| Timestamp | 2023-04-01T10:04:19.024Z |
| ID Permintaan | 19b394a3-4fff-480c-9b5c-cbdfd6952f4e |
| Tingkat log | silly |
| Pesan | hello,world |
context.logger
Menghasilkan format yang sama dengan console.log—yaitu timestamp, ID permintaan, dan tingkat log—namun menggunakan tingkat log yang Anda tentukan.
2023-04-01T10:04:19.024Z 19b394a3-4fff-480c-9b5c-cbdfd6952f4e [info] hello,fcKetika konkurensi instans lebih besar dari 1, satu instans fungsi menangani beberapa permintaan secara bersamaan. Dalam skenario ini, gunakan context.logger—setiap entri log diberi tag dengan ID permintaannya sendiri, sehingga Anda dapat memfilter log berdasarkan ID permintaan untuk mengisolasi output dari pemanggilan fungsi tertentu.
Lihat log
Setelah fungsi dijalankan, lihat log-nya pada tab Logs di halaman detail fungsi. Untuk informasi selengkapnya, lihat Lihat log pemanggilan fungsi.
Untuk mengisolasi log dari pemanggilan tertentu dalam pengaturan dengan konkurensi tinggi, filter berdasarkan ID permintaan yang muncul dalam output context.logger atau console.log.