日志记录 - React Native SDK
您可以设立或更改应用程序的日志级别,以开发或调试应用程序。 您可能需要更改日志级别,根据应用环境日志不同数量的数据。 您可以指定不同的日志级别或自定义记录器。
提示
另请参阅:
本页介绍如何设置 Realm 记录器,该记录器已添加到 Realm React Native SDK v12.0.0 中。 这取代了在早期版本的 Realm React Native SDK 中设置同步客户端日志级别。 有关如何在早期版本中设置同步客户端日志级别的信息,请参阅设置客户端日志级别 - React Native SDK。
设置或更改 Realm 日志级别
您可以设立Realm React Native SDK报告的详细程度。 要配置日志级别,请将有效的级别string值传递给 setLogLevel():
“全部”
"trace"
"debug"
"detail"
"info"
"WARN"
“错误”
“致命”
“关闭”
Realm.setLogLevel('trace');
在应用程序中的任何位置使用 setLogLevel()
可在代码中的不同点增加或减少日志详细程度。 此行为与已弃用的同步客户端日志级别不同,后者必须在打开同步域之前设置,并且无法更改。
要关闭日志记录,请将 "off" 传递给setLogLevel()
:
Realm.setLogLevel('off');
自定义记录器
要设立自定义记录器,请调用setLogger() 。 此方法从Realm记录器而不是单个 Realm 接收level
和message
参数。 使用这些参数来定义您自己的日志记录行为。
setLogger()
在使用 打开域之前,您必须使用RealmProvider
。您不能在与RealmProvider
相同的组件的钩子中使用setLogger()
,因为RealmProvider
在安装时会打开一个域 。 钩子通常在安装组件后运行,这意味着RealmProvider
已经打开了一个域。
大多数时候,您应该在React树之外设立自定义记录器。 示例,在应用程序的根index.js
文件中。
Realm.setLogger((level, message) => { const log = { message, level, }; setLogs(previousLogs => [...previousLogs, log]); });
这将为应用程序中的所有 Realm 日志设置日志记录行为,无论您在何处进行设置。 如果不提供日志级别,则默认为“info”。