Logging

คุณกำหนดค่าไลบรารีให้บันทึกการโต้ตอบกับ Google Ads API ได้หลายวิธี คุณสามารถบันทึกคำขอและการตอบกลับโดยละเอียด รวมถึงข้อความสรุปที่กระชับยิ่งขึ้น การตั้งค่าเหล่านี้ได้รับการจัดการโดยการกำหนดค่าไลบรารีของไคลเอ็นต์ รายละเอียดด้านล่างคือรายละเอียดตัวเลือกการกำหนดค่าประเภทต่างๆ ที่มีให้ใช้งาน

ไลบรารีใช้เฟรมเวิร์ก logging ในตัวของ Python และบันทึกไปยัง stderr โดยค่าเริ่มต้น หากรวมไว้ด้วย ระบบจะส่งออบเจ็กต์ logging ที่ระบุในการกำหนดค่าไปยัง logging.config.dictConfig โดยตรงเป็น dict

นอกจากนี้ คุณยังกำหนดค่าการบันทึกแบบเป็นโปรแกรมได้โดยตั้งการกำหนดค่าการบันทึกก่อนเริ่มต้นไคลเอ็นต์ คุณจะเรียกอินสแตนซ์บันทึกไคลเอ็นต์และกำหนดค่าอินสแตนซ์ดังกล่าวด้วยตัวอย่างต่อไปนี้ได้

import logging
logging.basicConfig(level=logging.INFO, format='[%(asctime)s - %(levelname)s] %(message).5000s')
logging.getLogger('google.ads.googleads.client').setLevel(logging.INFO)

โปรดทราบว่าระบบจะกำหนดค่าตัวบันทึกของไคลเอ็นต์เมื่อเริ่มต้นไคลเอ็นต์แล้ว ระบบจะไม่สนใจการเปลี่ยนแปลงการกำหนดค่าการบันทึกที่ตามมา หากต้องการลบล้างการกำหนดค่าการบันทึกในไฟล์ YAML แบบเป็นโปรแกรม คุณต้องเรียกใช้บรรทัดข้างต้นก่อนเริ่มต้นไคลเอ็นต์

ระดับบันทึก

ไคลเอ็นต์สร้างบันทึกในระดับต่างๆ 2-3 ระดับ และคุณสามารถตั้งค่าการกำหนดค่าเพื่อดูข้อมูลบางส่วนหรือทั้งหมดด้านล่างได้

ระดับ คำขอสำเร็จ คำขอที่ไม่สำเร็จ
DEBUG บันทึกโดยละเอียดที่มีออบเจ็กต์คำขอและการตอบกลับที่สมบูรณ์เป็น JSON บันทึกโดยละเอียดพร้อมคำขอที่สมบูรณ์และออบเจ็กต์ข้อยกเว้นในรูปแบบ JSON
INFO สรุปสั้นๆ ที่มีช่องคำขอและการตอบกลับที่เจาะจง บันทึกโดยละเอียดพร้อมคำขอที่สมบูรณ์และออบเจ็กต์ข้อยกเว้นในรูปแบบ JSON
WARNING ไม่มี ข้อมูลสรุปที่กระชับซึ่งมีข้อมูลคำขอที่เฉพาะเจาะจง สถานะข้อยกเว้น และข้อความ

เนื่องจากเฟรมเวิร์กการบันทึก Python จะไม่สนใจข้อความบันทึกที่มีความรุนแรงน้อยกว่าระดับที่กำหนดค่าไว้ การตั้งค่าเป็น WARNING จึงทำให้คุณเห็นเฉพาะข้อความที่กระชับซึ่งเกี่ยวข้องกับคำขอที่ล้มเหลว แต่การตั้งค่าเป็น DEBUG หมายความว่าคุณจะเห็นบันทึกทุกประเภทที่เป็นไปได้ในตารางข้างต้น

กำลังบันทึกไปยังไฟล์

คุณเชื่อมต่อข้อความบันทึกไปยังไฟล์ได้ง่ายๆ เช่น เมื่อเรียกใช้ get_campaigns เช่น

python get_campaigns.py -c $CLIENT_ID 2> example.log

ตัวดักจับการบันทึก

ไลบรารีของไคลเอ็นต์ Python ใช้ Interceptor ของ gRPC เพื่อเข้าถึงและบันทึกคำขอและรายละเอียดการตอบกลับ คุณตั้งค่าการบันทึกที่กำหนดเองได้โดยสร้างตัวตัด gRPC ด้วยตรรกะที่กำหนดเอง ดูรายละเอียดเพิ่มเติมและตัวอย่างตัวดักจับการบันทึกที่กำหนดเองได้ในคู่มือการบันทึก