跳到主要内容

日志(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。

看完还有疑问?进群交流下!
与众多 Rive 创作者、开发者一起交流探讨与答疑解惑。
加入交流群