自定义记录器
May 11, 2023About 2 min
自定义记录器
本主题介绍如何自定义来自云眼特性标帜(Feature Flag)AB实验 Go SDK 的实验的日志信息,以帮助进行调试。
记录器记录有关实验的信息,以帮助你进行调试。可以自定义日志信息的发送位置以及跟踪的信息类型。
Go SDK 中的默认记录器会记录到 STDOUT。如果要禁用或自定义记录器,可以提供 EyeofcloudLogConsumer 接口的实现。
SDK 中的自定义记录器实现
Go
import "github.com/eyeofcloud/go-sdk/pkg/logging"
type CustomLogger struct {
}
func (l *CustomLogger) Log(level logging.LogLevel, message string, fields map[string]interface{}) {
}
func (l *CustomLogger) SetLogLevel(level logging.LogLevel) {
}
customLogger := New(CustomLogger)
logging.SetLogger(customLogger)
设置日志级别
还可以将默认日志级别从 INFO 更改为任何其他日志级别。
Go
import "github.com/eyeofcloud/go-sdk/pkg/logging"
// Set log level to Debug
logging.SetLogLevel(logging.LogLevelDebug)
日志级别
下表列出了 Go SDK 的日志级别。
日志级别 | 解释 |
---|---|
日志级别错误 | 记录阻止灰度标帜正常运行的事件(例如,初始化中的无效数据文件和无效的标帜键)。用户可以采取措施进行更正。 |
日志级别警告 | 不会阻止灰度标帜正常运行但可能会产生意外结果(例如,将来的 API 弃用、记录器或错误处理程序设置不正确,以及来自 getter 的 nil 值)的事件将被记录下来。 |
日志级别信息 | 记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。 |
日志级别调试 | 将记录与可帮助我们调试问题的错误相关的任何信息(例如,灰度标帜未运行、用户未包含在标帜规则中)。 |
源文件
将记录与可帮助我们调试问题的错误相关的任何信息(例如,特性标帜(Feature Flag)未运行、用户未包含在标帜规则中)。
源文件
包含 Go 实现的语言/平台源文件是 client.go。