เนมสเปซ: ดีบัก

แก้ปัญหา

ตรวจแก้จุดบกพร่อง()

ฟังก์ชันดีบักพื้นฐานที่พิมพ์ออบเจ็กต์ภาษากฎความปลอดภัย ตัวแปร และผลลัพธ์ของคำสั่งขณะที่กำลังได้รับการประเมินโดยกลไกกฎความปลอดภัย ผลลัพธ์ของ debug ถูกเขียนไปที่ firestore-debug.log

ฟังก์ชัน debug สามารถเรียกใช้ได้ภายใน เงื่อนไข ของกฎเท่านั้น

บล็อกฟังก์ชัน debug จะดำเนินการโดยเอ็นจิ้นกฎความปลอดภัยในโปรแกรมจำลอง Firestore ซึ่งเป็นส่วนหนึ่งของ Firebase Emulator Suite เท่านั้น ฟังก์ชันดีบักไม่มีผลกระทบต่อการใช้งานจริง

รายการไฟล์บันทึกการดีบักจะขึ้นหน้าด้วยสตริงที่ระบุประเภทข้อมูลภาษากฎของเอาต์พุตบันทึก (เช่น string_value , map_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
...