日志
更新時間 2024-12-10 12:14:52
最近更新時間: 2024-12-10 12:14:52
分享文章
本文介紹如何在Go運行環境下使用Go SDK、其它日志庫提供的方法打印日志。
打印日志
當需要查看函數運行相關的自定義狀態時,可以使用如下幾種方式打印日志至標準輸出stdout。往標準輸出stdout打印的日志內容會被函數收集。
以下分別介紹所使用的幾種日志打印方法。
使用context.GetLogger()方法打印日志
函數計算平臺提供的Go SDK包含了 GetLogger()方法打印日志,使用該方法打印的每條日志中都包含日志級別、RequestId、時間、文件名和行號等信息。示例代碼如下:
package main
import (
? "context"
? "gitee.com/ctyunfaas/cf-runtime-go-sdk/cf"
? "gitee.com/ctyunfaas/cf-runtime-go-sdk/fccontext"
)
func HandleRequest(ctx context.Context) (string, error) {
? fctx, _ := fccontext.FromContext(ctx)
? fctx.GetLogger().Info("Hello info")
? fctx.GetLogger().Infof("Hi, %s\n", "info")
? fctx.GetLogger().Warn("Goodbye warn")
? fctx.GetLogger().Warnf("Bye-bye, %s\n", "warn")
? return "hello world", nil
}
func main() {
? cf.Start(HandleRequest)
}
函數被執行后,會輸出以下日志:
2024-03-11 18:46:00.102699 d0c5bc99-e0a9-4d82-beb0-2b23185640ea [INFO] main.go:12: Hello info
2024-03-11 18:46:00.102715 d0c5bc99-e0a9-4d82-beb0-2b23185640ea [INFO] main.go:13: Hi, info
2024-03-11 18:46:00.102725 d0c5bc99-e0a9-4d82-beb0-2b23185640ea [WARN] main.go:15: Goodbye warn
2024-03-11 18:46:00.102729 d0c5bc99-e0a9-4d82-beb0-2b23185640ea [WARN] main.go:16: Bye-bye, warn
使用log庫打印日志
您還可以使用log庫打印日志,它只包含日期和時間。示例代碼如下:
package main
import (
? "context"
? "gitee.com/ctyunfaas/cf-runtime-go-sdk/cf"
? "log"
)
func HandleRequest(ctx context.Context) (string, error) {
? log.Println("hello log println")
? return "hello world", nil
}
func main() {
? cf.Start(HandleRequest)
}
函數被執行后,會輸出以下日志:
2024/03/12 14:34:36.567851 hello log println
查看日志
函數執行完成后,您可以在函數詳情頁的日志頁簽查看日志信息。