自定义记录器

云眼About 2 min

自定义记录器

本主题介绍如何自定义有关来自云眼灰度发布(特性标帜)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)

记录阻止灰度发布(特性标帜)正常运行的事件(例如,初始化中的无效数据文件和无效的功能密钥)。用户可以采取措施进行更正。

Eyeofcloud::SimpleLogger.new(Logger::WARN)

不会阻止灰度发布(特性标帜)正常运行但可能会产生意外结果(例如,将来的 API 弃用、记录器或错误处理程序设置不正确,以及来自 getter 的 nil 值)的事件将被记录下来。

云眼::SimpleLogger.new(Logger::INFO)

记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。

云眼::SimpleLogger.new(Logger:😄 EBUG)

将记录与可帮助我们调试问题的错误相关的任何信息(例如,灰度发布(特性标帜)未运行、用户未包含在推出中)。

Last update:
Contributors: “zhangweixue”,zhangweixue