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.
Dica
Esta página mostra como definir um registrador de Realm, que foi adicionado no Realm Swift SDK v10.39.0. Isso substitui a configuração do nível de registro do cliente de sincronização em versões anteriores do Realm Swift 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 - Swift SDK.
Definir ou alterar o Realm de registro do domínio
Você pode definir o nível de detalhes relatado pelo Realm Swift SDK. Defina o nível de registro do registrador padrão com Logger.shared.level
:
Logger.shared.level = .trace
O enumeração RLMLogLevel representa os diferentes níveis de registro que você pode configurar.
Você pode alterar o nível de registro para aumentar ou diminuir a verbosidade em diferentes pontos do seu código. Esse comportamento difere do nível de registro do cliente de sincronização obsoleto , que tinha que ser definido antes de abrir um domínio sincronizado e não pode ser alterado.
// Set a log level that isn't too verbose Logger.shared.level = .warn // Later, when trying to debug something, change the log level for more verbosity Logger.shared.level = .trace
Definir o registrador antes de inicializar um cliente de aplicativo
Quando você inicializa um cliente de aplicação, o Swift SDK armazena em cache a configuração da aplicação. Alterar para a configuração da aplicação após a inicialização não tem efeito. Isso inclui a configuração de um registrador. A inicialização de um aplicativo lê o registrador compartilhado atual e o armazena.
No entanto, alterar o nível de registro de um registrador existente funciona a qualquer momento.
Desativar registro
O nível de limite de registro padrão para o Realm Swift SDK é .info
. Isso exibe algumas informações no console. Você pode desabilitar totalmente o registro definindo o nível de registro como .off
:
Logger.shared.level = .off
Personalizar a função de registro
Inicialize uma instância de um Logger e defina a função a ser usada para registro.
// Create an instance of `Logger` and define the log function to invoke. let logger = Logger(level: .detail) { level, message in // You may pass log information to a logging service, or // you could simply print the logs for debugging. Define // the log function that makes sense for your application. print("REALM DEBUG: \(Date.now) \(level) \(message) \n") }
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 definir um logger como o logger padrão para sua aplicação com Logger.shared
. Depois de definir o registrador padrão, você pode alterar o nível de registro durante o ciclo de vida do aplicativo, conforme necessário.
let logger = Logger(level: .info) { level, message in // You may pass log information to a logging service, or // you could simply print the logs for debugging. Define // the log function that makes sense for your application. print("REALM DEBUG: \(Date.now) \(level) \(message) \n") } // Set a logger as the default Logger.shared = logger // After setting a default logger, you can change // the log level at any point during the app lifecycle Logger.shared.level = .debug