ロギングを構成する

Java クライアント ライブラリのロギングは、Java 用の汎用ロギング ファサードである SLF4J で構成されます。これにより、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 を指定してアプリケーションを実行します。