Espace de noms : débogage

déboguer

déboguer()

Une fonction de débogage de base qui imprime les objets, les variables et les résultats des instructions du langage de règles de sécurité au fur et à mesure qu'ils sont évalués par le moteur de règles de sécurité. Les sorties du debug sont écrites dans firestore-debug.log.

La fonction debug ne peut être appelée que dans les conditions des règles.

Les blocs fonctionnels debug ne sont exécutés que par le moteur de règles de sécurité de l'émulateur Firestore, qui fait partie de Firebase Emulator Suite. La fonction de débogage n’a aucun effet en production.

Les entrées du fichier journal de débogage sont précédées d'une chaîne identifiant le type de données du langage de règles de la sortie du journal (par exemple, string_value , map_value ).

Les appels au debug peuvent être imbriqués.

Actuellement, la fonctionnalité debug ne prend pas en charge le concept de niveaux de journalisation (par exemple, 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
...