로깅 구성

Java 클라이언트 라이브러리의 로깅은 Java용 일반 로깅 퍼사드인 SLF4J로 구성되며, 이를 통해 로그를 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 디버그 정보

세부정보 로그 잘림

대용량 로그가 생성되지 않도록 기본적으로 세부 로그가 잘립니다. 로그가 잘리는 길이를 변경하려면 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. (선택사항) 리소스 디렉터리에 log4j2.xml 구성 파일을 만듭니다 (예: 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 라이브러리에 종속 항목을 추가하고 2.x.y를 프로젝트에 사용된 SLF4J 버전으로 바꿉니다.

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>2.x.y</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을 지정하여 애플리케이션을 실행합니다.