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

设置客户端日志级别 - Kotlin SDK

在此页面上

  • 设置同步日志级别
  • 设置自定义记录器

在 1.8.0 版本中进行了更改: 已弃用并替换为 Realm Logger

警告

本页介绍如何在 Realm Kotlin SDK 版本 1.7.1 及更早版本中设置同步客户端日志级别。 Realm Kotlin SDK v1.8.0 使用可设置和配置的 Realm 记录器取代了此日志记录实现。 有关如何在更高版本中设置 Realm 记录器的信息,请参阅日志记录 - Kotlin SDK。

Device Sync您可以在 应用 SyncConfiguration 实例上设立 客户端日志级别。您可能希望根据应用环境日志不同数量的数据。

要配置日志级别,请将RealmLogger.level属性设置为 LogLevel提供的记录器级别之一。

有关每个可用日志级别的说明,请参阅LogLevel文档。 请注意,更多的日志记录可能会对性能产生负面影响。

您必须在打开同步域之前设置日志级别。

// Access your app
val app = App.create(YOUR_APP_ID)
val user = app.login(credentials)
// Access the configuration builder for the app
val config = SyncConfiguration.Builder(user, setOf(Toad::class))
// Set the logger to provide debug log
// Must be set BEFORE you open a synced realm
.log(LogLevel.DEBUG)
.initialSubscriptions { realm ->
add(realm.query<Toad>(), "sync subscription")
}
.build()
// Open the synced realm
// Synced realm writes logs according to the log level set above
val realm = Realm.open(config)

提示

要在开发应用程序时诊断和排除错误,请将日志级别设置为debugtrace 。 对于生产部署,请降低日志级别以提高性能。

您可以通过在SyncConfiguration构建器上设置customLoggers参数,将 Device Sync 日志通过管道传输到自定义RealmLogger对象。 如果不指定此参数,Kotlin SDK 会将日志字符串输出到默认的系统记录器(Android 上的 LogCat、iOS 上的 NSLog)。

在打开同步域之前,您必须设置自定义记录器。

val customLogger = CustomLogger()
customLogger.tag = "Engineering debugging"
customLogger.message = "${customLogger.logLevel}: ${customLogger.message}"
// Access your app
val app = App.create(YOUR_APP_ID)
val user = app.login(credentials)
// Access the configuration builder for the app
val config = SyncConfiguration.Builder(user, setOf(Toad::class))
// Set the custom logger and applicable log level
// Must be set BEFORE you open a synced realm
.log(LogLevel.ALL, customLoggers = listOf(customLogger))
.initialSubscriptions { realm ->
add(realm.query<Toad>(), "sync subscription")
}
.build()
// Open the synced realm with the custom logger
val realm = Realm.open(config)

后退

处理同步错误