名前空間: デバッグ

デバッグ

デバッグ()

セキュリティ ルール エンジンによって評価されているセキュリティ ルール言語オブジェクト、変数、およびステートメントの結果を出力する基本的なデバッグ関数。 debugの出力は firestore-debug.log に書き込まれます。

debug関数は、ルール条件内でのみ呼び出すことができます。

debug関数ブロックは、Firebase エミュレータ スイートの一部である Firestore エミュレータのセキュリティ ルール エンジンによってのみ実行されます。デバッグ機能は本番環境には影響しません。

デバッグ ログ ファイル エントリの先頭には、ログ出力のルール言語データ型を識別する文字列が追加されます (たとえば、 string_valuemap_value )。

debugの呼び出しはネストできます。

現在、 debug機能はログ レベルの概念 (INFO、WARN、ERROR など) をサポートしていません。

// firestore.rules
// Nested debug calls in the following match block....
match /carts/{cartID} {
  allow create: if request.auth != null && request.auth.uid == request.resource.data.ownerUID;
    allow read, update, delete: if
      debug(
        debug(request.auth.uid) == debug(resource.data.ownerUID)
      );
  }
...

// firestore-debug.log
// ...produce logfile output like the following.
string_value: "alice" // for debug(request.auth.uid)

string_value: "alice" // for debug(resource.data.ownerUID)

bool_value: true      // for the outermost enclosing debug() call
...