ロギング

Logging は、Java 用の汎用ロギング ライブラリである SLF4J を使用して構成されています。これにより、さまざまなロギング実装にログを転送できます。log4j 1.2/2 と Java Util Logging(JUL)の構成ファイルが用意されています。

ロギングのレイアウトと機能

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

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

詳細ログの切り捨て

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

Log4j 2

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

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>2.x.y</version>
    </dependency>
    
  2. (省略可)リソース ディレクトリ(Maven など)に構成ファイルを作成します: src/main/resources。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 ユーティリティのロギング

  1. slf4j-jdk14 ライブラリへの依存関係を追加します。

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>1.7.25</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 を指定してアプリケーションを実行します。