TOS Go SDK提供了日志功能,您可以通过开启日志查看请求相关信息。
SDK 分别会在以下场景中记录相关日志。
场景 | 日志级别 |
---|---|
请求服务端时会记录耗时和返回 HTTP Code 以及请求 ID | INFO |
记录请求原始签名值 | DEBUG |
调用此次接口 HTTP 各环节耗时 | DEBUG |
在 Go SDK 可以通过实现 tos.Logger 接口注入相关日志功能,当前接口兼容 logrus 日志库。
package main import ( "fmt" "os" "github.com/sirupsen/logrus" "github.com/volcengine/ve-tos-golang-sdk/v2/tos" ) func main() { var ( accessKey = os.Getenv("TOS_ACCESS_KEY") secretKey = os.Getenv("TOS_SECRET_KEY") // endpoint 若没有指定HTTP协议(HTTP/HTTPS),默认使用 HTTPS endpoint = "*** Provide your endpoint ***" region = "*** Provide your region ***" ) // 使用日志示例 logger := logrus.New() credential := tos.NewStaticCredentials(ak, sk) client, err := tos.NewClientV2(endpoint, tos.WithCredentials(credential), tos.WithRegion(region), tos.WithLogger(logger)) if err != nil { fmt.Println("Error:", err) panic(err) } // 使用结束后,关闭 client client.Close() }
使用默认日志格式时,日志内容如下。
time=2022-12-05T10:19:32+08:00 level=info msg=[tos] Response StatusCode:200, RequestId:950b488d553465ee638d5534-ac16898b, Cost:241 ms time=2022-12-05T10:19:32+08:00 level=info msg=[tos] Response StatusCode:200, RequestId:950b488d553465ef638d5534-ac16898b, Cost:72 ms time=2022-12-05T10:19:32+08:00 level=info msg=[tos] Response StatusCode:200, RequestId:950b488d553465f1638d5534-ac16898b, Cost:101 ms