您可以在Node.js運行環境中列印和查看日誌,通過日誌快速定位問題或分析日誌瞭解函數執行過程和耗時等,提升系統的可靠性和穩定性。
列印日誌
函數往標準輸出stdout列印的日誌內容會被收集到建立服務時指定的Logstore中,您可以使用如下幾種方式列印日誌至標準輸出stdout。列印日誌的樣本如下所示。
ES模組
說明
此樣本僅支援運行在Node.js 18及以上版本的運行時環境。
export const handler = async (event, context) => {
process.stdout.write('hi,fc\n');
console.log('hello,world');
context.logger.info('hello,fc');
return "Hello World!";
};
CommonJS模組
'usestrict';
exports.handler = (event, context, callback) => {
process.stdout.write('hi,fc\n');
console.log('hello,world');
context.logger.info('hello,fc');
callback(null, 'hello,world');
};
使用process.stdout.write列印日誌
使用此方法列印日誌會將內容原樣輸出到日誌中。輸出的日誌內容如下所示。
hi,fc
使用console.log列印日誌
使用此方法列印的每條日誌中都會包含時間、RequestId、記錄層級等資訊。輸出的日誌內容如下所示。
2023-04-01T10:04:19.024Z 19b394a3-4fff-480c-9b5c-cbdfd6952f4e [silly] hello,world
直接使用context.logger列印日誌
當您配置的函數執行個體並發度大於1時,一個函數執行個體會同時並發處理多個請求。此時強烈建議使用context.logger列印日誌,以通過RequestId區分各並發請求的日誌。輸出的日誌內容如下所示。
2023-04-01T10:04:19.024Z 19b394a3-4fff-480c-9b5c-cbdfd6952f4e [info] hello,fc
查看日誌
函數執行完成後,您可以在函數詳情頁的調用日誌頁簽查看日誌資訊。具體操作和說明,請參見查看調用日誌。