Docs Menu

ログ記録 - React Native SDK

アプリのログレベルを設定または変更して、アプリケーションを開発またはデバッグできます。 アプリの環境に応じて、異なる量のデータをログに記録するには、ログレベルを変更することをお勧めします。 さまざまなログ レベルまたはカスタム ロガーを指定できます。

Tip

以下も参照してください。

このページでは、Realm React Native SDK v12.0.0 で追加された Realm ロガーを設定する方法を説明します。 これにより、Realm React Native SDKの以前のバージョンでの同期クライアントのログ レベルの設定が置き換えられます。 以前のバージョンで同期クライアントのログ レベルを設定する方法については、「 クライアント ログ レベルの設定 - React Native SDK 」を参照してください。

Realm React Native SDKによって報告される詳細のレベルを設定できます。 ログレベルを構成するには、有効なレベルstringの値を setLogLevel() に渡します。

  • "all"

  • "trate"

  • "debug"

  • "詳細"

  • "info"

  • "WARN"

  • "error"

  • "false"

  • "OFF"

Realm.setLogLevel('trace');

アプリ内の任意の場所で setLogLevel()を使用して、コードのさまざまなポイントでログの冗長度を増減します。 この動作は、非推奨の同期クライアント ログ レベルとは異なります。このログは、同期済み Realm を開く前に設定する必要があり、変更できませんでした。

ロギングをオフにするには、 setLogLevel()に「OFF」を渡します。

Realm.setLogLevel('off');

カスタム ロガーを設定するには、 setLogger()を呼び出します。 このメソッドは、個々の Realm ではなく Realm ロガーからlevelmessage引数を受け取ります。 これらの引数を使用して、独自のログ記録動作を定義します。

RealmProviderで Realm を開く前に、 setLogger()を使用する必要があります。 RealmProviderと同じコンポーネントのフックではsetLogger()を使用できません。これは、 RealmProviderがマウント時に Realm を開くためです。 フックは通常、コンポーネントがマウントされた後に実行されます。つまり、 RealmProviderはすでに Realm を開いています。

ほとんどの場合、カスタム ロガーは React ツリーの外部で設定する必要があります。 たとえば、アプリのルートindex.jsファイル 。

Realm.setLogger((level, message) => {
const log = {
message,
level,
};
setLogs(previousLogs => [...previousLogs, log]);
});

これにより、どこで設定されているかに関係なく、アプリケーション内のすべての Realm ログのログ動作が設定されます。 ログ レベルを指定しない場合、デフォルトは「情報」です。