我正在用 Go 編寫一個谷歌云函數。我可以簡單地通過寫入標準輸出來編寫日志消息。生成的日志包括有關函數、其運行時、跟蹤信息等的信息。非常好,但是,我想在我的日志中添加一些結構化數據,這意味著標準輸出不夠靈活。所以我正在嘗試使用“cloud.google.com/go/logging”。我是這樣設置的:// Set up like thislogClient, err = logging.NewClient(ctx, "my-project-id")if err != nil { return}logger := logClient.Logger("my-function-name")// And log like thislogger.Log(logging.Entry{ Payload: "Hello World!", Severity: logging.Info,})但是,我在 Cloud Console 中看到的日志缺少所有自動附加到標準輸出日志的好信息。為了取回其中的一部分,我可以在設置記錄器時添加此選項:logging.CommonResource(&monitoredres.MonitoredResource{ Type: fmt.Sprintf("projects/%s/logs/cloudfunctions.googleapis.com%scloud-functions", os.Getenv("GCP_PROJECT"), "%2F"), Labels: map[string]string{ "function_name": os.Getenv("FUNCTION_NAME"), "project_id": os.Getenv("GCP_PROJECT"), "region": os.Getenv("FUNCTION_REGION"), },})這允許我在 Cloud Console 中單擊云功能列表中的“查看日志”按鈕時查看日志。但是,它缺少函數執行 ID 和跟蹤 ID。我在這里遺漏了一些明顯的東西,還是為谷歌云服務設置體面的日志記錄非常復雜?任何幫助表示贊賞。
- 1 回答
- 0 關注
- 166 瀏覽
添加回答
舉報
0/150
提交
取消