Cloud LoggingのログエントリとtextPayloadとjsonPayLoad
背景
Cloud Loggingを扱う際に、ログエントリについて把握しておくと捗るのでメモ。
まず、Cloud Loggingでは LogEntry
というデータ型を利用してログを表現する。
LogEntry型で必須の項目は
- logName: ログ名. 例:
projects/PROJECT_ID/logs/cloudfunctions.googleapis.com%2Fcloud-functions
- resource: リソース情報.
MonitoredResourced
というデータ型で表現される. 例:{ "type": "gce_instance", "labels": { "instanceId": "12345678901234", "zone": "us-central1-a" }}
そのほかに、timestampやseverity, payloadなどの情報を持つ。(詳細)
特にpayloadに関しては、textPayloadとjsonPayloadの2種類があり、この2つどちらを使うのかで検索クエリが異ってくる ので、違いを把握しておく必要がある。
textPayloadとjsonPayload
textPayloadはその名の通りテキストが入る。
jsonPayloadはJSON形式でログを表現できる -> 構造化ロギング
触ってみる
gcloudでtextPayloadとjsonPayloadのログを登録してみてみる。
textPayload
gcloudでログを登録
gcloud logging write my-test-log "A simple entry."
cloud loggingのコンソールからはこんな感じで見える↓
jsonPayload
gcloudでログを登録
gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'
cloud loggingのコンソールからはこんな感じで見える↓
このように、textPayloadとjsonPayloadで出力のされ方が変わり、検索する際のクエリも変わってくるので、どちらでロギングしているかに注意する。
参考
Author And Source
この問題について(Cloud LoggingのログエントリとtextPayloadとjsonPayLoad), 我々は、より多くの情報をここで見つけました https://qiita.com/munaita_/items/e563dbb098d30fd51ee4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .