로깅

로깅은 자바용 일반 로깅 라이브러리인 SLF4J로 구성되므로 로그를 다양한 로깅 구현으로 전달할 수 있습니다. Google은 log4j 1.2/2 및 Java 유틸리티 로깅 (JUL)을 위한 구성 파일을 제공합니다.

로깅 레이아웃 및 기능

요청은 한 줄 요약과 전체 요청/응답 본문 및 헤더로 로깅됩니다.

로그 유형 로그 이름 성공 수준 실패 수준
요약 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를 지정하여 애플리케이션을 실행합니다.