日志(Logging)
此 Rive 运行时包含用于辅助调试的日志功能。这些日志仅用于调试;不会通过网络发送任何内容,也不会记录个人身份信息(PII)。
本页只适用于新运行时,即 @rive-app/react-native 0.5.0 或更高版本。
默认情况下,Rive 在 Android 上写入 Logcat,在 iOS 上写入 React Native 的 RCTLog。在你调用 RiveLog.forwardToConsole() 或 RiveLog.setHandler() 之前,没有任何内容到达 JavaScript。
在 iOS 上,错误用 RCTLogError 记录,因此调试构建还会把它们显示为红色错误屏幕。把日志转发到控制台或设置处理程序可以避免这一点。
把日志转发到控制台(Forwarding logs to the console)
import { RiveLog } from '@rive-app/react-native';
RiveLog.forwardToConsole();
消息以 [Rive/<tag>] 开头。调试和信息日志使用 console.log。警告和错误都使用 console.warn,因此它们不会在调试构建中显示红色错误屏幕。你可以处理的错误会通过 onError 和被拒绝的 Promise 到达应用。参见错误处理。
设置日志级别(Setting the logging level)
低于你所设级别的日志会在各处被丢弃。默认值是 warn。
RiveLog.setLogLevel('debug'); // 'debug' | 'info' | 'warn' | 'error'
使用自定义记录器(Using a custom logger)
RiveLog.setHandler((level, tag, message) => {
myLogger.log(level, `[Rive/${tag}] ${message}`);
});
同一时间只有一个处理程序处于活动状态,因此 setHandler 和 forwardToConsole 会互相替换。iOS 和 Android 的标签不同,所以不要匹配特定标签。
恢复默认(Returning to the default)
调用 RiveLog.resetHandler() 可移除当前处理程序,并再次记录到 Logcat 和 RCTLog。