0

我有一個VM微型實例在谷歌計​​算雲上運行,我想記錄一個錯誤消息給stackdriver。這頁https://cloud.google.com/logging/docs/agent/installation顯示了這個例子如何使用記錄器將錯誤記錄到堆棧驅動器中?

logger "Some test message"

這對於普通郵件的偉大工程,但我想爲Stackdriver認識到一些消息的錯誤,所以,他們將在這裏https://console.cloud.google.com/errors顯示出來,這樣可以讓我得到電子郵件通知。

我知道gcloud工具有一個測試版日誌記錄解決方案,但我希望避免安裝它需要的額外組件。

回答

0

你想閱讀過的文檔約在https://cloud.google.com/error-reporting/docs/formatting-error-messages

喜歡的東西格式:

{ 
    "message": "Some test message", 
    "context": { 
    "reportLocation": { 
     "functionName": "my_function" 
    } 
    }, 
    "serviceContext": { 
    "service": "my service", 
    } 
    } 

你需要的信息是日誌條目的jsonPayload,而不是textPayload。我相信代理會自動識別JSON消息,但是如果還有非JSON消息,它可能會退回到在所有情況下使用文本。在這種情況下,使用專用日誌來解決錯誤應該有所幫助。

您還可能有興趣在文檔上的消息是如何組合在一起:https://cloud.google.com/error-reporting/docs/grouping

+0

感謝您的回答。我已經用'logger「$ json」'(在shell中)試過你的例子,它顯示在stackdriver中,但不是錯誤記者。我也嘗試了同樣的事情,但用'\ n'替換了新行,就像這樣:'\ n「message \ n \」\ n \ n「\ n」context「:{\ n」reportLocation「:{\ n 「functionName」:「my_function」\ n} \ n},\ n「serviceContext」:{\ n「service」:「我的服務」\ n} \ n「 –

+0

當您在雲中展開日誌條目控制檯日誌查看器,什麼有效載荷類型是內容(json,文本,原型)? –

+0

我認爲這只是文字,但這裏的迴應https://gist.github.com/bijoutrouvaille/881d3b8780ba2e35e3e4dc3320172189 –