自定义记录器
自定义记录器
本主题介绍如何自定义有关来自云眼特性标帜(Feature Flag)AB实验 Ruby SDK 的实验的日志信息,以帮助进行调试。
记录器记录有关实验的信息,以帮助你进行调试。可以自定义日志信息的发送位置以及跟踪的信息类型。
默认情况下,Ruby SDK 未启用记录器。需要将记录器传递给 SDK 才能具有基本的日志记录功能。Ruby SDK 提供了一个简单的记录器实现,可以实例化和传入。
为了改善您设置 SDK 和配置生产环境的体验,我们建议为 Eyeofcloud 客户端传入记录器。请参阅下面的代码示例。
Rubby
# Require the logger library in to get the log levels require 'logger' # Instantiate an Eyeofcloud logger with the default log level Logger::INFO logger = Eyeofcloud::SimpleLogger.new # You can also instantiate with a custom log level logger = Eyeofcloud::SimpleLogger.new(Logger::DEBUG) # Instantiate the Eyeofcloud client with our logger eyeofcloud_client = Eyeofcloud::Project.new( datafile, nil, # don't override the EventDispatcher logger )
使用您自己的记录器
为了在生产环境中更好地控制 SDK 配置,请为 Eyeofcloud 客户端传入自定义记录器。自定义记录器是一个接受参数、级别和消息的函数。请参阅下面的代码示例来创建和设置自定义记录器。
Rubby
# Define your own custom logger that inherits from the Eyeofcloud base logger class CustomLogger < Eyeofcloud::BaseLogger def initialize() @logger = Logger.new(STDOUT) end def log(level, message) # You can handle the message here in any way you'd like custom_message = "Custom logged: #{message}" @logger.add(level, custom_message) end end
日志级别
下表列出了 Ruby SDK 的日志级别。
日志级别
解释
Eyeofcloud::SimpleLogger.new(Logger::CRITICAL)
记录导致应用崩溃的事件。
云眼::SimpleLogger.new(Logger::ERROR)
记录阻止特性标帜(Feature Flag)正常运行的事件(例如,初始化中的无效数据文件和无效的功能密钥)。用户可以采取措施进行更正。
Eyeofcloud::SimpleLogger.new(Logger::WARN)
不会阻止特性标帜(Feature Flag)正常运行但可能会产生意外结果(例如,将来的 API 弃用、记录器或错误处理程序设置不正确,以及来自 getter 的 nil 值)的事件将被记录下来。
云眼::SimpleLogger.new(Logger::INFO)
记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。
云眼::SimpleLogger.new(Logger:😄 EBUG)
将记录与可帮助我们调试问题的错误相关的任何信息(例如,特性标帜(Feature Flag)未运行、用户未包含在推出中)。