更新时间:2024-06-21 GMT+08:00

日志初始化(Go SDK)

功能说明

通过开启SDK日志功能,可将接口调用过程中产生的日志信息记录到日志文件,用于后续的数据分析或问题定位。您可以通过InitLog开启日志;CloseLog关闭日志并同步缓存中的日志内容到日志文件。

初始化方法

1
func InitLog(logFullPath string, maxLogSize int64, backups int, level Level, logToConsole bool) error

参数描述

参数名称

参数类型

是否必选

描述

logFullPath

string

必选

日志文件的全路径。

maxLogSize

int64

必选

日志文件大小,单位:字节。

backups

int

必选

最大可保留的日志文件个数。

level

Level

必选

日志级别。

logToConsole

bool

必选

是否将日志打印到控制台。

取值范围:true/false

true: 表示将日志打印到控制台

false: 表示将日志不打印到控制台

默认值:false

表1 Level

常量名

原始值

说明

LEVEL_OFF

500

关闭级别,如果设置为这个级别,日志打印功能将被关闭。

LEVEL_ERROR

400

错误级别,如果设置为这个级别,仅打印发生异常时的错误信息。

LEVEL_WARN

300

告警级别,如果设置为这个级别,除了打印错误级别的信息外,还将打印一些关键事件的信息。

LEVEL_INFO

200

信息级别,如果设置为这个级别,除了打印告警级别的信息外,还将打印HTTP/HTTPS请求的耗时时间,ObsClient接口的耗时时间等。

LEVEL_DEBUG

100

调试级别,如果设置为这个级别,除了打印INFO级别的信息外,还将打印每次HTTP/HTTPS请求和响应的头信息、鉴权算法计算出的stringToSign信息等。

代码示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 引入依赖包
import (
    obs "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs"
)

func main() {
       // 设置日志文件存放的路径
       var logFullPath string = "./logs/OBS-SDK.log"
       // 设置每个日志文件的大小,单位:字节
       var maxLogSize int64 = 1024 * 1024 * 10
       // 设置保留日志文件的个数
       var backups int = 10
       // 设置日志的级别
       var level = obs.LEVEL_INFO
       // 设置是否打印日志到控制台
       var logToConsole bool = false
       // 开启日志
       obs.InitLog(logFullPath, maxLogSize, backups, level, logToConsole)
       // 关闭日志,同步缓存
       obs.CloseLog()

}
  • 日志功能默认是关闭的,需要主动开启。
  • 您可以从日志分析章节获取更多关于SDK日志的信息。
  • 日志默认首先写入缓存(累积一定量后再写入文件),程序退出前调用obs.CloseLog()可同步缓存中的日志内容到日志文件。