自定义记录器
May 11, 2023About 3 min
自定义记录器
本主题介绍如何自定义有关来自云眼特性标帜(Feature Flag)AB实验 JavaScript(浏览器)SDK 的实验的日志信息,以帮助进行调试。
记录器记录有关实验的信息,以帮助你进行调试。可以自定义日志信息的发送位置以及跟踪的信息类型。
JavaScript SDK带有一个默认的Logger
实现 设置为ERROR
日志级别 。要配置日志级别阈值,可以调用setLogLevel
SDK。
JavaScript
var eyeofcloudSDK = require('@eyeofcloud/eyeofcloud-sdk');
// Set log level to debug
// Can be 'info', 'debug', 'warn', 'error'
eyeofcloudSDK.setLogLevel('debug');
// To turn off logging, call
setLogger with null eyeofcloudSDK.setLogger(null);
为了在生产环境中更好地控制 SDK 配置,请为 Eyeofcloud 客户端传入自定义记录器。自定义记录器是一个接受参数、级别和消息的函数。请参阅下面的代码示例来创建和设置自定义记录器。
JavaScript
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.调试 | 将记录与可帮助我们调试问题的错误相关的任何信息(例如,灰度标帜未运行、用户未包含在推出中)。 |
将记录阻止特性标帜(Feature Flag)或实验正常运行的事件(例如,初始化中的无效数据文件和无效的功能键)。用户可以采取措施进行更正。
eyeofcloudSDK.enums.LOG_LEVEL.警告
不会阻止特性标帜(Feature Flag)或实验正常运行,但可能会产生意外结果(例如,将来的 API 弃用、记录器或错误处理程序设置不正确)的事件将被记录下来。
eyeofcloudSDK.enums.LOG_LEVEL.INFO
记录重要事件(例如,决策已启动、决策成功、跟踪已启动和跟踪成功)。这有助于显示 API 调用的生命周期。
eyeofcloudSDK.enums.LOG_LEVEL.调试
将记录与可帮助我们调试问题的错误相关的任何信息(例如,特性标帜(Feature Flag)未运行、用户未包含在推出中)。