ロギングを構成する

Java クライアント ライブラリのロギングは SLF4J で構成されます。これは Java 用の汎用ロギング ファサードで、ログを Log4j 2、Logback、java.util.logging(JUL)など、さまざまなロギング実装に転送できます。Log4j 2 と JUL のサンプル構成ファイルを提供しています。

ログのレイアウトと機能

リクエストは、1 行の概要と、リクエストとレスポンスの本文とヘッダー全体とともに記録されます。

ログタイプ ログ名 成功レベル 失敗レベル
概要 com.google.ads.googleads.lib.request.summary 情報 WARN
詳細 com.google.ads.googleads.lib.request.detail デバッグ 情報

詳細ログの切り捨て

詳細ログは、大きなログが作成されないように、デフォルトで切り捨てられます。ログが切り捨てられる長さを変更するには、JVM プロパティ -Dapi.googleads.maxLogMessageLength=<number>を設定します。-1 に設定すると、ログの切り捨てが無効になります。

Log4j 2

  1. log4j-slf4j2-impl ライブラリへの依存関係を追加し、2.x.y をプロジェクトで使用している Log4j 2 のバージョンに置き換えます。

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j2-impl</artifactId>
      <version>2.x.y</version>
    </dependency>
    
  2. (省略可)リソース ディレクトリ(Maven の src/main/resources など)に log4j2.xml 構成ファイルを作成します。Log4j 2 は、作業ディレクトリではなくクラスパスから構成ファイルを読み込むため、リソース ディレクトリに作成してください。

  3. -Dlog4j.configurationFile=<CONFIG_FILE_PATH> を指定してアプリケーションを実行します。CONFIG_FILE_PATH=googleads-logging/log4j2.xml を指定すると、クライアント ライブラリに含まれているデフォルトの構成ファイルを使用できます。

Log4j 1.2(レガシー)

  1. slf4j-log4j12 ライブラリへの依存関係を追加し、1.x.y をプロジェクトで使用している Log4j 1.2 のバージョンに置き換えます。

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.x.y</version>
    </dependency>
    
  2. (省略可)プロジェクトのリソース ディレクトリ(Maven の src/main/resources など)に構成ファイルを作成します。Log4j 1.2 は、作業ディレクトリではなくクラスパスから構成ファイルを読み込むため、リソース ディレクトリにコピーしてください。

  3. -Dlog4j.configuration=<CONFIG_FILE_PATH> を指定してアプリケーションを実行します。 CONFIG_FILE_PATH=googleads-logging/log4j.properties を指定すると、クライアント ライブラリに含まれているデフォルトの構成ファイルを使用できます。

Java Util Logging

  1. slf4j-jdk14 ライブラリへの依存関係を追加し、2.x.y をプロジェクトで使用している SLF4J バージョンに置き換えます。

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>2.x.y</version>
    </dependency>
    
  2. アプリケーションから読み取り可能なパス(./jdk-logger.properties など)のファイル システムに JUL 構成ファイルを作成します。テンプレートは google-ads/src/main/resources/googleads-logging/jdk-logger.properties にあります。JUL はファイル システムからのみ読み取るため、クラスパス リソース ディレクトリにのみコピーしないでください。

  3. -Djava.util.logging.config.file=./jdk-logger.properties を指定してアプリケーションを実行します。