ログ記録 - Swift SDK
アプリケーションの開発またはデバッグ時に、アプリのログ レベルを設定または変更できます。 開発ニーズに応じて、ログ レベルを変更して、異なる量のデータをログに記録することをお勧めします。
Tip
以下も参照してください。
このページでは、 Realm Swift SDK v 10.39.0に追加された Realm ロガーを設定する方法を説明します。 これにより、Realm Swift SDK の以前のバージョンでの同期クライアントのログ レベルの設定が上書きされます。 以前のバージョンで同期クライアントのログ レベルを設定する方法については、「 クライアントのログ レベルの設定 - Swift SDK 」を参照してください。
Realm ログ レベルの設定または変更
Realm Swift SDK によって報告される詳細のレベルを設定できます。 Logger.shared.level
を使用してデフォルトのロガーのログレベルを設定します。
Logger.shared.level = .trace
RMLogLevel列挙型は、構成可能なログのさまざまなレベルを表します。
ログレベルを変更することで、コードのさまざまなポイントで冗長度を増減できます。 この動作は、非推奨の同期クライアント ログ レベルとは異なります。このログは、同期済み 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
ログ機能をカスタマイズする
ロガーのインスタンスを初期化し、ログ記録に使用する関数を定義します。
// 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") }
Tip
アプリケーションの開発中にエラーを診断してトラブルシューティングを行うには、ログ レベルを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