เปิดใช้การบันทึก

ไลบรารีนี้มีฟีเจอร์การบันทึกที่หลากหลายสำหรับการโต้ตอบกับ Google Ads API โดยคุณสามารถบันทึกข้อมูลต่อไปนี้ได้

  • ข้อมูลโดยละเอียด: คำขอทั้งหมดที่ส่งไปยัง API และการตอบกลับที่ได้รับ
  • สรุปย่อ: ภาพรวมระดับสูงของการโต้ตอบ

และคุณสามารถควบคุมการตั้งค่าการบันทึกเหล่านี้ได้ 2 วิธีดังนี้

  • การกำหนดค่าไลบรารีของไคลเอ็นต์: ใช้ตัวเลือกการกำหนดค่าเฉพาะของไลบรารี configuration
  • ใช้ Python ในการเขียนโปรแกรม: ใช้เฟรมเวิร์ก การบันทึกในตัวของ Python เพื่อควบคุมได้ โดยตรงมากขึ้น

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

  • อ่านการตั้งค่าการบันทึกที่ระบุจาก การกำหนดค่า
  • ส่งการตั้งค่าเหล่านี้ไปยัง logging.config.dictConfig ในตัวของ Python เพื่อเปิดใช้งาน

เมื่อใช้ไลบรารีนี้เป็นแพ็กเกจที่ติดตั้ง คุณต้องผสานรวมการบันทึกของไลบรารีกับการตั้งค่าการบันทึกของแอปพลิเคชัน โดยเฉพาะอย่างยิ่ง คุณต้องเพิ่มแฮนเดิลอร์การบันทึกลงในอินสแตนซ์ Logger ของไลบรารีเองด้วยเมธอด addHandler ตัวแฮนเดิลนี้จะเป็นตัวกำหนดตำแหน่งที่จะส่งข้อความในบันทึกของไลบรารี (เช่น ไปยังคอนโซล ไฟล์ ฯลฯ) หากต้องการทำเช่นนี้ ให้ดึงข้อมูลอินสแตนซ์ Logger ของไลบรารีก่อนตามที่แสดงไว้ที่นี่

import logging

logger = logging.getLogger('google.ads.googleads.client')

หลังจากดึงข้อมูล Logger ของไลบรารีแล้ว คุณสามารถบอกตำแหน่งที่จะแสดงข้อความบันทึกได้

  • การส่งบันทึกไปยังคอนโซล: หากต้องการแสดงข้อความบันทึกในคอนโซล ให้เพิ่มแฮนเดิลอร์พื้นฐาน วิธีส่งบันทึกไปยังเอาต์พุตมาตรฐาน (stdout)

    และวิธีตั้งค่าแฮนเดิลอร์พื้นฐานที่จะบอกให้ Logger พิมพ์ไปยัง stdout

    import sys
    
    # Assuming 'logger' was retrieved as per previous instructions
    logger.addHandler(logging.StreamHandler(sys.stdout))
    

    หากต้องการส่งบันทึกไปยังข้อผิดพลาดมาตรฐาน (stderr) ซึ่งมักใช้สำหรับข้อความแสดงข้อผิดพลาดและคำเตือน ให้ทำดังนี้

    import sys
    
    # Assuming 'logger' was retrieved as per previous instructions
    logger.addHandler(logging.StreamHandler(sys.stderr))
    
  • การกำหนดค่าการตั้งค่าการบันทึกอื่นๆ โดยใช้โปรแกรม: เมื่อมีออบเจ็กต์ Logger แล้ว คุณยังสามารถเปลี่ยนการตั้งค่าการบันทึกอื่นๆ โดยใช้โปรแกรมได้ด้วยโมดูลการบันทึก ในตัวของ Python เช่น หากต้องการเปลี่ยนระดับการบันทึกเป็น DEBUG (ซึ่งจะแสดงข้อความโดยละเอียดมากขึ้น) ให้ทำดังนี้

    logger.setLevel(logging.DEBUG)
    

ระดับบันทึก

ไคลเอ็นต์จะสร้างบันทึกในระดับต่างๆ และคุณสามารถตั้งค่าการกำหนดค่าให้แสดงบันทึกบางรายการหรือทั้งหมดด้านล่างได้

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

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

การบันทึกลงในไฟล์

เมื่อคุณเรียกใช้สคริปต์ตัวอย่าง เช่น get_campaigns.py จากบรรทัดคำสั่ง ระบบจะเปลี่ยนเส้นทาง (หรือ "ส่งต่อ") ข้อความบันทึกที่พิมพ์ไปยังคอนโซลโดยทั่วไปไปยังไฟล์ได้ ฟีเจอร์นี้เป็นฟีเจอร์ของเชลล์ของระบบปฏิบัติการ ไม่ใช่ไลบรารี Python เอง วิธีทำมีดังนี้

วิธีบันทึกเอาต์พุตมาตรฐาน (บันทึกส่วนใหญ่) ลงในไฟล์ (เขียนทับไฟล์)

python get_campaigns.py -c $CLIENT_ID > campaign_logs.txt

วิธีผนวกเอาต์พุตมาตรฐานลงในไฟล์

python get_campaigns.py -c $CLIENT_ID >> campaign_logs.txt

วิธีบันทึกทั้งเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐาน (สำหรับข้อผิดพลาด/คำเตือน) ลงในไฟล์เดียวกัน

python get_campaigns.py -c $CLIENT_ID > all_logs.txt 2>&1

(หรือในเชลล์สมัยใหม่บางเชลล์ เช่น Bash 4+)

python get_campaigns.py -c $CLIENT_ID &> all_logs.txt

ตัวสกัดกั้นการบันทึก

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