日志初始化(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 |
必选 |
日志级别。 |
|
logToConsole |
bool |
必选 |
是否将日志打印到控制台。 取值范围:true/false true: 表示将日志打印到控制台 false: 表示将日志不打印到控制台 默认值:false |
常量名 |
原始值 |
说明 |
---|---|---|
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()可同步缓存中的日志内容到日志文件。