自定义记录器
2023年5月11日大约 2 分钟
自定义记录器
本主题介绍如何自定义有关来自云眼灰度标帜(Feature Flag)AB实验 JavaScript(节点)SDK 的实验的日志信息,以帮助进行调试。
记录器记录有关实验的信息,以帮助你进行调试。可以自定义日志信息的发送位置以及跟踪的信息类型。
JavaScript SDK带有一个默认的Logger 实现 设置为ERROR日志级别。要配置日志级阈值,可以调用setLogLevel SDK。
节点
var eyeofcloudSDK = require('@eyeofcloud/eyeofcloud-sdk');  
// Set log level to debug 
// Can be 'info', 'debug', 'warn', 'error' 
eyeofcloudSDK.setLogLevel('debug');  
eyeofcloudSDK.setLogger(eyeofcloudSDK.logging.createLogger());  
// To turn off logging, call setLogger with null 
eyeofcloudSDK.setLogger(null);🚧 重要
使用 defaault 记录器时:在最新版本的 Node SDK 中,需要手动创建记录器,然后才能调用 'setLogLevel'。为此,请在应用中调用“setLogLevel”方法之前添加以下行:
JavaScript
// create logger eyeofcloudSDK.setLogger(eyeofcloudSDK.logging.createLogger());
为了在生产环境中更好地控制 SDK 配置,请为 Eyeofcloud 客户端传入自定义记录器。自定义记录器是一个接受参数、级别和消息的函数。请参阅下面的代码示例来创建和设置自定义记录器。
节点
var eyeofcloudSDK = require('@eyeofcloud/eyeofcloud-sdk');  
// Set log level 
eyeofcloudSDK.setLogLevel('debug');  
/**  
* customLogger  
*   
* Example of a custom logger. A custom logger is a function that  
* takes two parameters (level, message) and logs to an appropriate place,  
* typically the console.  
*  
* @param {string} level indicating the level of the log message  
* @param {string} message indicating the log message  
*  
*/ 
var customLogger = function(level, message) {   
    var LOG_LEVEL = eyeofcloudSDK.enums.LOG_LEVEL;   
    switch (level) {     
        case LOG_LEVEL.INFO:       
            // INFO log message       
            console.log(message);       
            break;          
            
        case LOG_LEVEL.DEBUG:       
            // DEBUG log message       
            console.log(message);       
            break;      
            
        case LOG_LEVEL.WARNING:       
            // WARNING log message       
            console.log(message);       
            break;      
        
        case LOG_LEVEL.ERROR:       
            // ERROR log message       
            console.log(message);       
            break;   
    } 
}  
// Set the custom logger 
eyeofcloudSDK.setLogger({   
    log: customLogger, 
});日志级别
下表列出了 JavaScript(节点)SDK 的日志级别。
| 日志级别 | 解释 | 
|---|---|
| eyeofcloudSDK.enums.LOG_LEVEL.错误 | 将记录阻止灰度标帜或实验正常运行的事件(例如,初始化中的无效数据文件和无效的功能键)。用户可以采取措施进行更正。 | 
| eyeofcloudSDK.enums.LOG_LEVEL.警告 | 不会阻止灰度标帜或实验正常运行,但可能会产生意外结果(例如,将来的 API 弃用、记录器或错误处理程序设置不正确)的事件将被记录下来。 | 
| eyeofcloudSDK.enums.LOG_LEVEL.INFO | 记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。 | 
| eyeofcloudSDK.enums.LOG_LEVEL.调试 | 将记录与可帮助我们调试问题的错误相关的任何信息(例如,灰度标帜未运行、用户未包含在推出中)。 |