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