Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/

Registro - Kotlin SDK

Nesta página

  • Definir o nível de registro do Realm
  • Definir um registrador personalizado

Novidade na versão 1.8.0.

Você pode definir ou alterar o nível de registro do seu aplicativo ao desenvolver ou depurar seu aplicativo. Talvez você queira alterar o nível de registro para registrar diferentes quantidades de dados, dependendo de suas necessidades de desenvolvimento.

Observação

Esta página mostra como definir um registrador do Realm, que foi adicionado no Realm Kotlin SDK v1.8.0. Isso substitui a configuração do nível de registro do cliente de sincronização em versões anteriores do Realm Kotlin SDK. Para obter informações sobre como definir o nível de registro do cliente Sync em uma versão anterior, consulte Definir o nível de registro do cliente - Kotlin SDK.

Você pode definir o nível de registro do seu aplicativo usando o singleton global RealmLog . Você pode definir a propriedade RealmLog.level como uma entrada no enum LogLevel para especificar o nível de dados que deseja receber. Se a prioridade do nível de registro for igual ou superior à prioridade definida em RealmLog.level, o Realm registrará o evento.

Você pode alterar o nível de registro a qualquer ponto durante o ciclo de vida do aplicativo a partir deste singleton global. Esse comportamento difere do nível de registro do cliente de sincronização obsoleto, que tinha que ser definido antes de abrir um Realm sincronizado e não pode ser alterado.

// Set a log level using the global RealmLog singleton
RealmLog.level = LogLevel.TRACE
// Access your app and use realm
val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
val user = app.login(Credentials.emailPassword(email, password))
val config = SyncConfiguration.Builder(user, setOf(Toad::class))
.initialSubscriptions { realm ->
add(realm.query<Toad>("name == $0", "name value"), "sync subscription")
}
.build()
val realm = Realm.open(config)
// You can change the log level at any point in your app's lifecycle as needed
RealmLog.level = LogLevel.INFO

Por padrão, todos os registros Go para um registrador de sistema padrão que varia de acordo com o sistema:

  • O Android registra no Logcat.

  • A JVM registra no stdout.

  • O MacOS registra no NSLog.

  • O iOS registra no NSLog.

Dica

Para diagnosticar e solucionar erros ao desenvolver seu aplicativo, defina o nível de registro como debug ou trace. Para sistemas de produção, diminua o nível de registro para melhorar o desempenho.

Você pode criar um registrador personalizado que implemente a interface do RealmLogger . Talvez você queira personalizar o registro para adicionar tags específicas ou definir níveis de registro específicos durante o desenvolvimento, o teste ou a depuração.

class MyLogger() : RealmLogger {
override val tag: String = "CUSTOM_LOG_ENTRY"
override val level: LogLevel = LogLevel.DEBUG
override fun log(
level: LogLevel,
throwable: Throwable?,
message: String?,
vararg args: Any?
) {
println(message) // Custom handling
}
}

Em seguida, você pode inicializar seu registrador personalizado e chamar o realmLog.add() para defini-lo como registrador para sua aplicação.

Você também pode remover um registrador específico ou remover todos os registradores, incluindo o registrador do sistema.

// Set an instance of a custom logger
val myCustomLogger = MyLogger()
RealmLog.add(myCustomLogger)
// You can remove a specific logger
RealmLog.remove(myCustomLogger)
// Or remove all loggers, including the default system logger
RealmLog.removeAll()

Voltar

Sincronização baseada em partição