自定义记录器

云眼About 2 min

自定义记录器

本主题介绍如何自定义有关来自云眼灰度发布(特性标帜)AB实验 JavaScript(节点)SDK 的实验的日志信息,以帮助进行调试。

记录器记录有关实验的信息,以帮助你进行调试。可以自定义日志信息的发送位置以及跟踪的信息类型。

JavaScript SDK带有一个默认的Logger 实现open in new window 设置为日志级别。要配置日志级阈值,可以调用 SDK。 ERROR``setLogLevel

节点

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.调试

将记录与可帮助我们调试问题的错误相关的任何信息(例如,灰度发布(特性标帜)未运行、用户未包含在推出中)。

Last update:
Contributors: “zhangweixue”,zhangweixue