Mengaktifkan Logging

Library ini menyediakan logging serbaguna untuk interaksi Google Ads API. Anda dapat merekam:

  • Informasi mendetail: Permintaan lengkap yang dikirim ke API dan respons yang diterima.
  • Ringkasan singkat: Ringkasan umum interaksi.

Anda dapat mengontrol setelan logging ini dengan dua cara:

  • Konfigurasi Library Klien: Gunakan opsi konfigurasi khusus library.
  • Secara terprogram dengan Python: Gunakan framework logging bawaan Python untuk kontrol yang lebih langsung.

Pencatatan dikonfigurasi secara otomatis saat instance GoogleAdsClient diinisialisasi. Langkah inisialisasi ini terjadi, misalnya, saat Anda menggunakan metode load_from_storage. Pada tahap ini, library akan:

Saat library ini digunakan sebagai paket yang diinstal, Anda perlu mengintegrasikan pencatatannya dengan penyiapan pencatatan aplikasi Anda. Secara khusus, Anda harus menambahkan handler logging ke instance logger library sendiri dengan metode addHandler. Handler ini akan menentukan ke mana pesan log library diarahkan (misalnya, ke konsol, file, dll.). Untuk melakukannya, ambil terlebih dahulu instance logger library seperti yang ditunjukkan di sini:

import logging

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

Setelah mengambil logger library, Anda dapat memberi tahu tempat untuk menampilkan pesan log.

  • Mengirim Log ke Konsol: Untuk menampilkan pesan log di konsol, Anda menambahkan handler dasar. Berikut cara mengarahkan log ke output standar (stdout):

    Berikut cara menyetel pengendali dasar yang akan memberi tahu logger untuk mencetak ke stdout:

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

    Jika Anda lebih suka mengirim log ke error standar (stderr), yang sering digunakan untuk pesan error dan peringatan:

    import sys
    
    # Assuming 'logger' was retrieved as per previous instructions
    logger.addHandler(logging.StreamHandler(sys.stderr))
    
  • Mengonfigurasi Setelan Logging Lainnya Secara Terprogram: Setelah memiliki objek logger, Anda juga dapat mengubah setelan logging lainnya secara terprogram menggunakan modul logging bawaan Python. Misalnya, untuk mengubah level logging menjadi DEBUG (yang akan menampilkan pesan yang lebih mendetail):

    logger.setLevel(logging.DEBUG)
    

Level log

Klien membuat log di beberapa tingkat yang berbeda dan Anda dapat menyetel konfigurasi untuk melihat beberapa atau semua di bawah ini:

Tingkat Permintaan Berhasil Permintaan Gagal
DEBUG Log mendetail dengan objek permintaan dan respons lengkap sebagai JSON. Log mendetail dengan objek permintaan dan pengecualian lengkap sebagai JSON.
INFO Ringkasan singkat dengan kolom permintaan dan respons tertentu. Log mendetail dengan objek permintaan dan pengecualian lengkap sebagai JSON.
WARNING Tidak ada Ringkasan singkat dengan informasi permintaan tertentu, status dan pesan pengecualian.

Karena framework logging Python mengabaikan pesan log yang kurang penting daripada level yang dikonfigurasi, jika Anda menyetelnya ke WARNING, Anda hanya akan melihat pesan singkat terkait permintaan yang gagal, tetapi jika Anda menyetelnya ke DEBUG, Anda akan melihat semua kemungkinan jenis log dalam tabel di atas.

Mencatat ke file

Saat Anda menjalankan skrip contoh seperti get_campaigns.py dari command line, semua pesan log yang biasanya dicetak ke konsol dapat dialihkan (atau "disalurkan") ke file. Ini adalah fitur shell sistem operasi Anda, bukan library Python itu sendiri. Berikut caranya:

Untuk menyimpan output standar (sebagian besar log) ke file (menimpanya):

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

Untuk menambahkan output standar ke file:

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

Untuk menyimpan output standar dan error standar (untuk error/peringatan) ke file yang sama:

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

(Atau, di beberapa shell modern seperti Bash 4+):

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

Penyadap logging

Library klien Python menggunakan interceptor gRPC untuk mengakses dan mencatat detail permintaan dan respons. Anda dapat menyiapkan logging kustom sendiri dengan membuat gRPC interceptor dengan logika kustom. Lihat Panduan pencatatan log untuk mengetahui detail selengkapnya dan contoh interceptor pencatatan log kustom.