Ошибка в значении журнала, выведенного int - PullRequest
0 голосов
/ 30 сентября 2018

Я запускаю приложение Go на GKE.Я выводю журнал JSON в приложении.При проверке журнала с помощью Stackdriver Logging в числовом значении возникает ошибка.

enter image description here

Как мы можем решить эту проблему?

import (
    "encoding/json"
    "fmt"
)

type Value struct {
    V int64
    S string
}

func log(num int64) {
    v := Value{
        V: num,
        S: fmt.Sprint(num),
    }
    j, err := json.Marshal(v)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%d\n", uint64(num))
    fmt.Println(string(j))
}

Даже я в команде gcloud заметил, что в значении произошла ошибка.Есть ли ошибка на стороне сервера ведения журнала Stackdriver?

gcloud logging write projects/gcpugjp/logs/bignum --payload-type=json '{"num": 36028797018963966, "text": "36028797018963966"}'

gcloud logging read projects/gcpugjp/logs/bignum
---
insertId: 1f25wvtf1b5rsv
jsonPayload:
  num: 36028797018963968
  text: '36028797018963966'
logName: projects/gcpugjp/logs/bignum
receiveTimestamp: '2018-10-02T10:20:21.734286025Z'
resource:
  labels:
    project_id: gcpugjp
  type: global
timestamp: '2018-10-02T10:20:21.734286025Z'
---
...