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:
- Membaca setelan logging yang ditentukan dari konfigurasinya.
- Teruskan setelan ini ke
logging.config.dictConfig
bawaan Python untuk mengaktifkannya.
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.