Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/

日志记录 - Node.js SDK

在此页面上

  • 设置或更改 Realm 日志级别
  • 自定义记录器
  • 关闭日志记录
  • 性能和 console.log()

您可以设立或更改应用程序的日志级别,以开发或调试应用程序。 您可能需要更改日志级别,根据应用环境日志不同数量的数据。 您可以指定不同的日志级别或自定义记录器。

提示

另请参阅:

本页介绍如何设置 Realm 记录器,该记录器已添加到 Realm Node.js SDK v12.0.0 中。 这取代了在早期版本的 Realm Node.js SDK 中设置同步客户端日志级别。 有关如何在早期版本中设置同步客户端日志级别的信息,请参阅设置客户端日志级别 - Node.js SDK。

您可以设立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 记录器接收 levelmessage参数。 您可以使用这些参数来定义自己的日志记录行为。

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() ,因为它会对应用程序的性能产生负面影响。 在 Node.js 中解释该方法的所有异常也可能很困难。

有关console.log() 行为的详细信息,请查看 Node.js 文档。

后退

基于分区的同步