命名空间:调试

调试

调试()

基本调试功能,在安全规则引擎评估安全规则语言对象、变量和语句结果时打印它们。 debug的输出写入 firestore-debug.log。

debug函数只能在规则条件内调用。

debug功能块仅由 Firestore 模拟器(Firebase 模拟器套件的一部分)中的安全规则引擎执行。调试功能对生产没有影响。

调试日志文件条目前面带有一个字符串,该字符串标识日志输出的规则语言数据类型(例如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
...