Namespace: debug

debug

debug()

Fungsi debug dasar yang mencetak bahasa Aturan Keamanan objek, variabel, dan hasil pernyataan seiring ketika mereka yang dievaluasi oleh mesin Aturan Keamanan. Output debug ditulis ke firestore-debug.log.

Fungsi debug hanya dapat dipanggil di dalam Aturan kondisi.

Blok fungsi debug hanya dijalankan oleh mesin Aturan Keamanan di emulator Firestore, yang merupakan bagian dari Firebase Emulator Suite. Debug fungsi ini tidak berpengaruh dalam produksi.

Entri logfile debug diawali dengan string yang mengidentifikasi Aturan jenis data bahasa output log (misalnya string_value, map_value).

Panggilan ke debug dapat disusun bertingkat.

Saat ini, fitur debug tidak mendukung konsep logging (misalnya, 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
...