Logging

このライブラリは、さまざまな方法で Google Ads API とのインタラクションを記録するように設定できます。詳細なリクエストとレスポンス、さらに簡潔な概要メッセージをログに記録できます。これらの設定は、クライアント ライブラリの構成によって管理されます。以下では、使用可能なさまざまな構成オプションの詳細について説明します。

このライブラリは、Python の組み込みロギング フレームワークを使用し、デフォルトで stderr にログを記録します。含まれている場合、構成で定義されている logging オブジェクトは dict として logging.config.dictConfig に直接渡されます。

クライアントを初期化する前にロギング構成を設定することで、プログラムによってロギングを構成することもできます。クライアント ロガー インスタンスを取得して、次の例で構成できます。

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

クライアント ロガーはクライアントの初期化時に構成されます。これ以降にロギング構成を変更しても無視されます。YAML ファイルのロギング構成をプログラムでオーバーライドするには、クライアントが初期化される前に上記の行を必ず呼び出してください。

ログレベル

クライアントはいくつかのレベルでログを生成します。以下の一部またはすべてを表示するように構成を設定できます。

レベル リクエストに成功しました 失敗したリクエスト
DEBUG 完全なリクエスト オブジェクトとレスポンス オブジェクトを JSON 形式で含む詳細なログ。 完全なリクエストと例外のオブジェクトを JSON 形式で含む詳細なログ。
INFO 特定のリクエスト フィールドとレスポンス フィールドを含む簡潔なサマリー。 完全なリクエストと例外のオブジェクトを JSON 形式で含む詳細なログ。
WARNING なし 特定のリクエスト情報、例外状態、メッセージを含む簡潔なサマリー。

Python ロギング フレームワークは、構成されたレベルよりも重要度の低いログメッセージを無視するため、WARNING に設定すると、失敗したリクエストに関連する簡潔なメッセージのみが表示されますが、DEBUG に設定すると、上記の表に考えられるすべてのタイプのログが表示されます。

ファイルへのロギング

たとえば、次のように get_campaigns サンプルを実行する場合、ログメッセージを簡単にファイルにパイプできます。

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

ロギング インターセプタ

Python クライアント ライブラリは、gRPC インターセプタを使用してリクエストとレスポンスの詳細にアクセスし、ログに記録します。独自のカスタム ロギングを設定するには、カスタム ロジックを使用して gRPC インターセプタを作成します。カスタム ロギング インターセプタの詳細と例については、ロギングガイドをご覧ください。