配置日志记录

Java 客户端库中的日志记录通过 SLF4J(Java 的通用日志记录门面)进行配置,该门面允许将日志定向到许多不同的日志记录实现,例如 Log4j 2、Logback 或 java.util.logging (JUL)。我们提供了 Log4j 2 和 JUL 的示例配置文件。

日志布局和功能

系统会记录请求,其中包含一行摘要以及完整的请求和响应正文和标头。

日志类型 日志名称 成功级别 故障级别
摘要 com.google.ads.googleads.lib.request.summary 信息 WARN
详细信息 com.google.ads.googleads.lib.request.detail DEBUG 信息

详细日志截断

详细日志默认会被截断,以避免创建大型日志。如需更改日志截断的长度,请设置 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. 在文件系统中创建一个 JUL 配置文件,该文件位于应用可读取的路径中(例如 ./jdk-logger.properties)。您可以在 google-ads/src/main/resources/googleads-logging/jdk-logger.properties 中找到模板。JUL 仅从文件系统读取,因此请勿仅将其复制到类路径资源目录。

  3. 运行应用,并指定 -Djava.util.logging.config.file=./jdk-logger.properties。