使用 Google Cloud go 库进行日志记录的问题
Problems using the Google Cloud go library for logging
我正在尝试将 import "cloud.google.com/go/logging"
与此处找到的 Go 示例代码一起使用:https://cloud.google.com/logging/docs/reference/libraries#using_the_client_library。使用 go1.15.6,我尝试了这些东西:
$ go get -u cloud.google.com/go/logging
# many errors about dependencies, so
$ go get -u github.com/google/go-cmp/cmp
$ go get -u golang.org/x/sync/semaphore
# then I can get through this one
$ go get -u cloud.google.com/go/logging
# for further amusement, these two fail with what seems to be a compiler error
$ go get cloud.google.com/go/storage
$ go get cloud.google.com/go/iam
# Then trying to build my code using Logging:
$ go build -i -v
cloud.google.com/go/logging/apiv2
# cloud.google.com/go/logging/apiv2
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:269:62: undefined: logging.ListBucketsRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:310:60: undefined: logging.GetBucketRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:310:114: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:328:63: undefined: logging.CreateBucketRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:328:120: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:354:63: undefined: logging.UpdateBucketRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:354:120: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:374:63: undefined: logging.DeleteBucketRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:825:14: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:840:65: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:374:63: too many errors```
感谢 JimB (https://whosebug.com/users/32880/jimb) 提供的评论
在这个指向这个答案方向的问题 Problems installing GCP go library for logging(被不想提供帮助的人粗鲁地关闭了)。
这里的问题是你没有使用模块,Google云库只支持那样使用。这意味着您根本不使用 go get ...
, 尽管文档 在 https://cloud.google.com/logging/docs/reference/libraries#client-libraries-install-go 。相反,首先创建这个 go.mod 文件:
module example.com/mymod
go 1.15
require (
cloud.google.com/go/logging v1.1.2
)
然后,运行 go build -i -v
将安装所有必需的模块。
我正在尝试将 import "cloud.google.com/go/logging"
与此处找到的 Go 示例代码一起使用:https://cloud.google.com/logging/docs/reference/libraries#using_the_client_library。使用 go1.15.6,我尝试了这些东西:
$ go get -u cloud.google.com/go/logging
# many errors about dependencies, so
$ go get -u github.com/google/go-cmp/cmp
$ go get -u golang.org/x/sync/semaphore
# then I can get through this one
$ go get -u cloud.google.com/go/logging
# for further amusement, these two fail with what seems to be a compiler error
$ go get cloud.google.com/go/storage
$ go get cloud.google.com/go/iam
# Then trying to build my code using Logging:
$ go build -i -v
cloud.google.com/go/logging/apiv2
# cloud.google.com/go/logging/apiv2
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:269:62: undefined: logging.ListBucketsRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:310:60: undefined: logging.GetBucketRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:310:114: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:328:63: undefined: logging.CreateBucketRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:328:120: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:354:63: undefined: logging.UpdateBucketRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:354:120: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:374:63: undefined: logging.DeleteBucketRequest
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:825:14: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:840:65: undefined: logging.LogBucket
../../go/src/cloud.google.com/go/logging/apiv2/config_client.go:374:63: too many errors```
感谢 JimB (https://whosebug.com/users/32880/jimb) 提供的评论 在这个指向这个答案方向的问题 Problems installing GCP go library for logging(被不想提供帮助的人粗鲁地关闭了)。
这里的问题是你没有使用模块,Google云库只支持那样使用。这意味着您根本不使用 go get ...
, 尽管文档 在 https://cloud.google.com/logging/docs/reference/libraries#client-libraries-install-go 。相反,首先创建这个 go.mod 文件:
module example.com/mymod
go 1.15
require (
cloud.google.com/go/logging v1.1.2
)
然后,运行 go build -i -v
将安装所有必需的模块。