Page Summary
-
Logging is configured using SLF4J and supports log4j 1.2/2 and Java Util Logging.
-
Requests are logged with both a one-line summary and full detail including body and headers.
-
Detail logs are truncated by default but can be adjusted or disabled.
-
Configuration steps are provided for Log4j 2, Log4j 1.2, and Java Util Logging.
Logging in the Java client library is configured with SLF4J, a generic logging
facade for Java that allows logs to be directed to many different logging
implementations, such as Log4j 2, Logback, or java.util.logging (JUL). We
provide sample configuration files for Log4j 2 and JUL.
Log layout and functionality
Requests are logged with a one-line summary and the full request and response body and headers.
| Log type | Log name | Success level | Failure level |
|---|---|---|---|
| SUMMARY | com.google.ads.googleads.lib.request.summary | INFO | WARN |
| DETAIL | com.google.ads.googleads.lib.request.detail | DEBUG | INFO |
Detail log truncation
The detailed logs are truncated by default to avoid creating large logs. To
change the length at which logs are truncated, set the JVM property
-Dapi.googleads.maxLogMessageLength=<number>. Setting -1 disables log
truncation.
Log4j 2
Add a dependency on the
log4j-slf4j2-impllibrary, substituting2.x.ywith the version of Log4j 2 you are using in your project:<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> <version>2.x.y</version> </dependency>(Optional) Create a
log4j2.xmlconfiguration file in your resources directory (for example,src/main/resourcesin Maven). Log4j 2 loads its configuration file from the classpath, not the working directory, so ensure you create it in a resources directory.Run your application, specifying
-Dlog4j.configurationFile=<CONFIG_FILE_PATH>. You can specifyCONFIG_FILE_PATH=googleads-logging/log4j2.xmlto use the default configuration file included with the client library.
Log4j 1.2 (legacy)
Add a dependency on the
slf4j-log4j12library, substituting1.x.ywith the version of Log4j 1.2 you are using in your project:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.x.y</version> </dependency>(Optional) Create a configuration file in your project's resources directory, for example
src/main/resourcesin Maven. Log4j 1.2 loads its configuration file from the classpath, not the working directory, so ensure you copy it to a resources directory.Run your application, specifying
-Dlog4j.configuration=<CONFIG_FILE_PATH>. You can specifyCONFIG_FILE_PATH=googleads-logging/log4j.propertiesto use the default configuration file included with the client library.
Java Util Logging
Add a dependency on the
slf4j-jdk14library, substituting2.x.ywith the SLF4J version used in your project:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>2.x.y</version> </dependency>Create a JUL configuration file on the file system in a path readable from your application (for instance,
./jdk-logger.properties). A template is provided atgoogle-ads/src/main/resources/googleads-logging/jdk-logger.properties. JUL reads from the file system only, so don't copy it only to the classpath resources directory.Run your application specifying
-Djava.util.logging.config.file=./jdk-logger.properties.