日志分析
更新时间: 2019-03-14 10:05
日志配置
OBS Go SDK基于标准库log提供了日志功能,您可以通过InitLog开启日志、CloseLog关闭并同步缓存中的日志内容到日志文件。示例代码如下:
- // 引入依赖包
- import (
- "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()
- }
说明:
- 日志功能默认是关闭的,需要主动开启。
- 日志默认首先写入缓存(累积一定量后再写入文件),程序退出前调用obs.CloseLog()可同步缓存中的日志内容到日志文件。
日志内容格式
SDK日志格式为:日志时间|打印日志所在的文件:行号|日志级别|日志内容。示例如下:
- 2018/03/13 16:21:50 [INFO]: http.go:79|Enter method ListBuckets...
- 2018/03/13 16:21:52 [INFO]: http.go:287|Do http request cost 2597 ms
日志级别
当系统出现问题需要定位且当前的日志无法满足要求时,可以通过修改日志的级别来获取更多的信息。SDK提供了代表日志级别的枚举常量以设置不同的日志级别,具体说明如下:
常量名 | 原始值 | 说明 |
---|---|---|
LEVEL_OFF | 500 | 关闭级别,如果设置为这个级别,日志打印功能将被关闭。 |
LEVEL_ERROR | 400 | 错误级别,如果设置为这个级别,仅打印发生异常时的错误信息。 |
LEVEL_WARN | 300 | 告警级别,如果设置为这个级别,除了打印错误级别的信息外,还将打印一些关键事件的信息。 |
LEVEL_INFO | 200 | 信息级别,如果设置为这个级别,除了打印告警级别的信息外,还将打印HTTP/HTTPS请求的耗时时间,ObsClient接口的耗时时间等。 |
LEVEL_DEBUG | 100 | 调试级别,如果设置为这个级别,除了打印INFO级别的信息外,还将打印每次HTTP/HTTPS请求和响应的头信息、鉴权算法计算出的stringToSign信息等。 |
父主题:异常处理