這個程式庫可為 Google Ads API 互動提供多種記錄功能。您可以擷取:
- 詳細資訊:傳送至 API 的完整要求和收到的回應。
- 簡潔摘要:互動的概略總覽。
您可以透過兩種方式控制這些記錄設定:
系統會在初始化 GoogleAdsClient
例項時自動設定記錄。例如,當您使用 load_from_storage
方法時,就會發生這個初始化步驟。此時,程式庫會執行以下操作:
- 從設定中讀取指定的記錄設定。
- 將這些設定傳遞至 Python 內建的
logging.config.dictConfig
即可啟用。
當這個程式庫用作已安裝的套件時,您必須將其記錄功能與應用程式的記錄設定整合。具體來說,您必須使用 addHandler
方法,將記錄處理常式新增至程式庫本身的記錄器例項。這個處理程序會指定程式庫的記錄訊息要導向的位置 (例如控制台、檔案等)。如要這麼做,請先擷取程式庫的記錄器例項,如下所示:
import logging
logger = logging.getLogger('google.ads.googleads.client')
擷取程式庫的記錄器後,您可以告訴它要將記錄訊息輸出到哪裡。
將記錄傳送至控制台:如要在控制台中顯示記錄訊息,請新增基本處理程序。以下說明如何將記錄導向標準輸出 (
stdout
):以下是如何設定基本處理常式,讓記錄器將資料輸出至
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))
以程式輔助方式設定其他記錄設定:取得記錄器物件後,您也可以使用 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 攔截器,藉此設定自訂記錄。如需詳細資訊和自訂記錄攔截器範例,請參閱記錄指南。