로깅

로깅은 Java용 일반 로깅 라이브러리인 SLF4J로 구성되며, 이를 통해 로그를 다양한 로깅 구현으로 전달할 수 있습니다. log4j 1.2/2 및 Java Util Logging (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 Util Logging

  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를 지정하여 애플리케이션을 실행합니다.