Namensraum: debug

debuggen

debuggen()

Eine grundlegende Debug-Funktion, die Objekte, Variablen und Anweisungsergebnisse der Security Rules-Sprache ausgibt, während sie von der Security Rules-Engine ausgewertet werden. Die Ausgaben von debug werden in firestore-debug.log geschrieben.

Die debug Funktion kann nur innerhalb von Rules- Bedingungen aufgerufen werden.

debug Funktionsblöcke werden nur von der Security Rules Engine im Firestore-Emulator ausgeführt, der Teil der Firebase Emulator Suite ist. Die Debug-Funktion hat in der Produktion keine Auswirkung.

Debug-Protokolldateieinträgen wird eine Zeichenfolge vorangestellt, die den Datentyp der Regelsprache der Protokollausgabe identifiziert (z. B. string_value , map_value ).

debug Aufrufe können verschachtelt werden.

Derzeit unterstützt die debug Funktion das Konzept der Protokollierungsebenen (z. B. INFO, WARN, ERROR) nicht.

// 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
...