日志记录 - Swift SDK
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
在开发或调试应用程序时,您可以设置或更改应用程序的日志级别。 您可能希望根据开发需求更改日志级别以记录不同数量的数据。
提示
另请参阅:
本页介绍如何设置 Realm 记录器,该记录器已添加到 Realm Swift SDK v 10.39.0中。 这取代了在早期版本的 Realm Swift SDK 中设置同步客户端日志级别。 有关如何在早期版本中设置同步客户端日志级别的信息,请参阅设置客户端日志级别 - Swift SDK。
设置或更改 Realm 日志级别
您可以设置 Realm Swift SDK 报告的详细程度。 使用 Logger.shared.level
设置默认记录器的日志级别:
Logger.shared.level = .trace
RLMLogLevel枚举表示您可以配置的不同日志记录级别。
您可以更改日志级别,以在代码中的不同点增加或减少详细程度。 此行为与已弃用的同步客户端日志级别不同,后者必须在打开同步 Realm 之前设置,并且无法更改。
// 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
在初始化应用程序客户端之前设置记录器
初始化应用客户端时,Swift SDK 会缓存该应用的配置。 初始化后更改应用配置没有任何影响。 这包括设置记录器。 初始化应用程序会读取当前共享记录器并将其存储。
但是,可以随时更改现有记录器的日志级别。
关闭日志记录
Realm Swift SDK 的默认日志阈值级别为.info
。 这会在控制台中显示一些信息。 您可以通过将日志级别设置为.off
来完全禁用日志记录:
Logger.shared.level = .off
自定义日志记录功能
初始化Logger的实例并定义用于日志记录的函数。
// 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") }
提示
要在开发应用程序时诊断和排除错误,请将日志级别设置为debug
或trace
。 对于生产部署,请降低日志级别以提高性能。
您可以使用Logger.shared
将记录器设置为应用程序的默认记录器。 设置默认记录器后,您可以根据需要在应用的生命周期中更改日志级别。
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