日志记录 - Node.js SDK
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
您可以设立或更改应用程序的日志级别,以开发或调试应用程序。 您可能需要更改日志级别,根据应用环境日志不同数量的数据。 您可以指定不同的日志级别或自定义记录器。
提示
另请参阅:
本页介绍如何设置 Realm 记录器,该记录器已添加到 Realm Node.js SDK v12.0.0 中。 这取代了在早期版本的 Realm Node.js SDK 中设置同步客户端日志级别。 有关如何在早期版本中设置同步客户端日志级别的信息,请参阅设置客户端日志级别 - Node.js SDK。
设置或更改 Realm 日志级别
您可以设立Realm Node.js SDK报告的详细程度。 要配置日志级别,请传递 Realm.setLogLevel() 为有效的级别string值:
“全部”
"trace"
"debug"
"detail"
"info"
"WARN"
“错误”
“致命”
“关闭”
Realm.setLogLevel("all");
您可以设置不同的日志级别,以在代码中的不同点增加或减少详细程度。 此行为与已弃用的同步客户端日志级别不同,后者必须在打开同步域之前设置,并且无法更改。
// Set a default log level that's not too verbose Realm.setLogLevel("detail"); const realm = await Realm.open({ schema: [Turtle], }); // Later, change the log level to debug an issue when running specific code Realm.setLogLevel("trace"); realm.write(() => realm.create(Turtle, newTestObject()));
自定义记录器
要设置自定义记录器,请调用setLogger() 。 此方法从 Realm 记录器接收 level
和message
参数。 您可以使用这些参数来定义自己的日志记录行为。
let logs = []; Realm.setLogger((level, message) => { logs.push({ level, message }); });
type Log = { message: string; level: string; }; let logs: Log[] = []; Realm.setLogger((level, message) => { logs.push({ level, message }); });
这将为应用程序中的所有 Realm 日志设置日志记录行为。 如果不提供日志级别,则默认值为“info”。
关闭日志记录
您可以通过将日志级别设置为RealmLogLevel.off
来关闭日志记录:
Realm.setLogLevel("off");
性能和 console.log()
您应避免在生产中使用console.log()
,因为它会对应用程序的性能产生负面影响。 在 Node.js 中解释该方法的所有异常也可能很困难。
有关console.log()
行为的详细信息,请查看 Node.js 文档。