Spazio dei nomi: debug

eseguire il debug

debug()

Una funzione di debug di base che stampa gli oggetti del linguaggio delle regole di sicurezza, le variabili e i risultati delle istruzioni mentre vengono valutati dal motore delle regole di sicurezza. Gli output del debug vengono scritti in firestore-debug.log.

La funzione debug può essere chiamata solo all'interno delle condizioni delle Regole.

i blocchi funzione debug vengono eseguiti solo dal motore delle regole di sicurezza nell'emulatore Firestore, parte di Firebase Emulator Suite. La funzione di debug non ha alcun effetto sulla produzione.

Le voci del file di log di debug sono precedute da una stringa che identifica il tipo di dati della lingua Rules dell'output del log (ad esempio, string_value , map_value ).

Le chiamate al debug possono essere annidate.

Attualmente, la funzionalità debug non supporta il concetto di livelli di registrazione (ad esempio 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
...