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

日志记录 - Swift SDK

在此页面上

  • 设置或更改 Realm 日志级别
  • 在初始化应用程序客户端之前设置记录器
  • 关闭日志记录
  • 自定义日志记录功能

在开发或调试应用程序时,您可以设置或更改应用程序的日志级别。 您可能希望根据开发需求更改日志级别以记录不同数量的数据。

提示

另请参阅:

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

您可以设置 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")
}

提示

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

您可以使用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

后退

测试与调试