自定义记录器
May 11, 2023About 3 min
自定义记录器
本主题介绍如何自定义来自云眼特性标帜(Feature Flag)AB实验 Android SDK 的实验的日志信息,以帮助进行调试。
记录器记录有关实验的信息,以帮助你进行调试。可以自定义日志信息的发送位置以及跟踪的信息类型。
对于Android SDK,可以使用我们的Android SLF4J记录器。可以通过android-logger.properties
文件控制日志记录的详细程度。此文件可以放在src/main/resources
中。还可以为src/release/resources
发布到 Play 商店的变体添加具有不同设置的副本。阅读有关高级配置选项的信息。
为了改善您设置 SDK 和配置生产环境的体验,我们建议为 Eyeofcloud 客户端传入记录器。请参阅下面的代码示例。
❗️
警告
由于最近宣布的 Log4J 库中存在安全漏洞,如果与 SDK 一起使用,我们建议尽快升级到变体 2.15.0 或更高版本。查看 Apache 关于 Log4j 漏洞的文档以获取更多信息。
Text
# android-logger.properties example (JSON)
# Java Core SDK
logger.com.eyeofcloud.ab.Eyeofcloud=DEBUG:Eoc.core
logger.com.eyeofcloud.ab.annotations=DEBUG:Eoc.annotations
logger.com.eyeofcloud.ab.bucketing=DEBUG:Eoc.bucketing
logger.com.eyeofcloud.ab.config=DEBUG:Eoc.config
logger.com.eyeofcloud.ab.error=DEBUG:Eoc.error
logger.com.eyeofcloud.ab.event=DEBUG:Eoc.event
logger.com.eyeofcloud.ab.internal=DEBUG:Eoc.internal
# Android SDK logger.com.eyeofcloud.ab.android.sdk=DEBUG:Eoc.androidSdk
logger.com.eyeofcloud.ab.android.event_handler=DEBUG:Eoc.eventHandler
logger.com.eyeofcloud.ab.android.shared=DEBUG:Eoc.shared
logger.com.eyeofcloud.ab.android.user_profile=DEBUG:Eoc.userProfile
# Disable most SDK logs by commenting all other lines and uncommenting below
# logger.com.eyeofcloud.ab=ASSERT:Eoc
日志级别
下表列出了安卓 SDK 的日志级别。
日志级别 | 解释 |
---|---|
错误 | 记录阻止灰度标帜正常运行的事件(例如,初始化中的无效数据文件和无效的功能密钥)。用户可以采取措施进行更正。 |
警告 | 不会阻止灰度标帜正常运行但可能会产生意外结果(例如,将来的 API 弃用、记录器或错误处理程序设置不正确,以及来自 getter 的 nil 值)的事件将被记录下来。 |
信息 | 记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。 |
调试 | 将记录与可帮助我们调试问题的错误相关的任何信息(例如,灰度标帜未运行、用户未包含在推出中)。 |
解释
错误
记录阻止特性标帜(Feature Flag)正常运行的事件(例如,初始化中的无效数据文件和无效的功能密钥)。用户可以采取措施进行更正。
警告
不会阻止特性标帜(Feature Flag)正常运行但可能会产生意外结果(例如,将来的 API 弃用、记录器或错误处理程序设置不正确,以及来自 getter 的 nil 值)的事件将被记录下来。
信息
记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。
调试
将记录与可帮助我们调试问题的错误相关的任何信息(例如,特性标帜(Feature Flag)未运行、用户未包含在推出中)。