Java クライアント ライブラリのロギングは、SLF4J で構成されています。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
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>(省略可)リソース ディレクトリ(Maven の
src/main/resourcesなど)にlog4j2.xml構成ファイルを作成します。Log4j 2 は、作業ディレクトリではなく、クラスパスから構成ファイルを読み込みます。そのため、リソース ディレクトリに作成してください。-Dlog4j.configurationFile=<CONFIG_FILE_PATH>を指定してアプリケーションを実行します。CONFIG_FILE_PATH=googleads-logging/log4j2.xmlを指定すると、クライアント ライブラリに含まれているデフォルトの構成ファイルを使用できます。
Log4j 1.2(レガシー)
slf4j-log4j12ライブラリへの依存関係を追加します。1.x.yは、プロジェクトで使用している Log4j 1.2 のバージョンに置き換えます。<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.x.y</version> </dependency>(省略可)プロジェクトのリソース ディレクトリに構成ファイルを作成します(Maven の
src/main/resourcesなど)。Log4j 1.2 は、作業ディレクトリではなく、クラスパスから構成ファイルを読み込みます。そのため、リソース ディレクトリにコピーしてください。-Dlog4j.configuration=<CONFIG_FILE_PATH>を指定してアプリケーションを実行します。CONFIG_FILE_PATH=googleads-logging/log4j.propertiesを指定すると、クライアント ライブラリに含まれているデフォルトの構成ファイルを使用できます。
Java Util Logging
slf4j-jdk14ライブラリへの依存関係を追加します。2.x.yは、プロジェクトで使用されている SLF4J バージョンに置き換えます。<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>2.x.y</version> </dependency>アプリケーションから読み取り可能なパス(
./jdk-logger.propertiesなど)のファイル システムに JUL 構成ファイルを作成します。テンプレートはgoogle-ads/src/main/resources/googleads-logging/jdk-logger.propertiesにあります。JUL はファイル システムからのみ読み取るため、classpath リソース ディレクトリにのみコピーしないでください。-Djava.util.logging.config.file=./jdk-logger.propertiesを指定してアプリケーションを実行します。