로깅

Logging은 자바용 일반 로깅 라이브러리인 SLF4J로 구성되므로 로그를 다양한 로깅 구현으로 전달할 수 있습니다. 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. 애플리케이션에서 읽을 수 있는 경로에 JUL 구성 파일을 만듭니다 (예: ./jdk-logger.properties). 템플릿은 google-ads/src/main/resources/googleads-logging/jdk-logger.properties에서 제공됩니다. JUL은 파일 시스템에서만 읽으므로 리소스 디렉터리에 복사하지 마세요.

  3. -Djava.util.logging.config.file=./jdk-logger.properties를 지정하여 애플리케이션을 실행합니다.