自定义记录器
2023年5月11日大约 2 分钟
自定义记录器
本主题介绍如何自定义有关来自云眼灰度标帜(Feature Flag)AB实验 C# SDK 的实验的日志信息,以帮助进行调试。
记录器记录有关实验的信息,以帮助你进行调试。可以自定义日志信息的发送位置以及跟踪的信息类型。
为了改善您设置 SDK 和配置生产环境的体验,我们建议为 Eyeofcloud 客户端传入记录器。请参阅下面的代码示例。
C#
using EyeofcloudSDK.Logger;  
/**  
* Log a message at a certain level.  
* - Parameter level: The priority level of the log.  
* - Parameter message: The message to log.  
**/ 
public class CustomLogger : ILogger 
{     
    private LogLevel MinLogLevel;      
    public CustomLogger(LogLevel minLogLevel)     {         
        this.MinLogLevel = minLogLevel;     
    }     
    public void Log(LogLevel level, string message)     {         
        if (MinLogLevel <= level) {             
            switch (level) {                 
                case LogLevel.DEBUG:                    
                
                // DEBUG log message                     
                break;                 
                case LogLevel.INFO:                     
                
                // INFO log message                     
                break;                 
                case LogLevel.WARN:                     
                
                // WARNING log message                     
                break;                 
                case LogLevel.ERROR:                     
                
                // ERROR log message                     
                break;             
            }         
        }     
    } 
}日志级别
下表列出了 C# SDK 的日志级别。
| 日志级别 | 解释 | 
|---|---|
| EyeofcloudSDK.Logger.LogLevel.ERROR | 记录阻止灰度标帜正常运行的事件(例如,初始化中的无效数据文件和无效的功能密钥)。用户可以采取措施进行更正。 | 
| EyeofcloudSDK.Logger.LogLevel.WARN | 不会阻止灰度标帜正常运行但可能产生意外结果的事件(例如,将来的 API 弃用、记录器或错误处理程序设置不正确,以及来自 getter 的 nil 值)将被记录。 | 
| EyeofcloudSDK.Logger.LogLevel.INFO | 记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。 | 
| EyeofcloudSDK.Logger.LogLevel.DEBUG | 将记录与可帮助我们调试问题的错误相关的任何信息(例如,灰度标帜未运行、用户未包含在推出中)。 | 
日志级别
解释
EyeofcloudSDK.Logger.LogLevel.ERROR
记录阻止灰度标帜(Feature Flag)正常运行的事件(例如,初始化中的无效数据文件和无效的功能密钥)。用户可以采取措施进行更正。
EyeofcloudSDK.Logger.LogLevel.WARN
不会阻止灰度标帜(Feature Flag)正常运行但可能产生意外结果的事件(例如,将来的 API 弃用、记录器或错误处理程序设置不正确,以及来自 getter 的 nil 值)将被记录。
EyeofcloudSDK.Logger.LogLevel.INFO
记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。
EyeofcloudSDK.Logger.LogLevel.DEBUG
将记录与可帮助我们调试问题的错误相关的任何信息(例如,灰度标帜(Feature Flag)未运行、用户未包含在推出中)。