로깅

이 라이브러리는 다양한 방식으로 Google Ads API와의 상호작용을 기록하도록 구성할 수 있습니다. 자세한 요청 및 응답과 더 간결한 요약 메시지를 로깅할 수 있습니다. 이 설정은 클라이언트 라이브러리 구성에서 관리합니다. 다음은 사용 가능한 다양한 유형의 구성 옵션에 관한 세부정보입니다.

이 라이브러리는 Python의 기본 제공 로깅 프레임워크를 사용하며 기본적으로 stderr에 로깅합니다. 포함된 경우 구성에 정의된 logging 객체가 dictlogging.config.dictConfig에 직접 전달됩니다.

클라이언트를 초기화하기 전에 로깅 구성을 설정하여 로깅을 프로그래매틱 방식으로 구성할 수도 있습니다. 다음 예를 사용하여 클라이언트 로거 인스턴스를 가져와 구성할 수 있습니다.

import logging
logging.basicConfig(level=logging.INFO, format='[%(asctime)s - %(levelname)s] %(message).5000s')
logging.getLogger('google.ads.googleads.client').setLevel(logging.INFO)

클라이언트 로거는 클라이언트가 초기화될 때 구성됩니다. 이후 로깅 구성 변경사항은 무시됩니다. YAML 파일에서 로깅 구성을 프로그래매틱 방식으로 재정의하려면 클라이언트가 초기화되기 전에 위의 줄을 호출해야 합니다.

로그 수준

클라이언트는 몇 가지 수준에서 로그를 생성하며 아래의 일부 또는 전체를 보도록 구성을 설정할 수 있습니다.

수준 요청 완료 요청 실패
DEBUG 전체 요청 및 응답 객체가 JSON으로 포함된 자세한 로그입니다. 전체 요청 및 예외 객체가 JSON으로 포함된 세부 로그입니다.
INFO 특정 요청 및 응답 필드가 포함된 간단한 요약입니다. 전체 요청 및 예외 객체가 JSON으로 포함된 세부 로그입니다.
WARNING 없음 특정 요청 정보, 예외 상태, 메시지가 포함된 간단한 요약입니다.

Python 로깅 프레임워크는 구성된 수준보다 심각도가 낮은 로그 메시지를 무시하므로 WARNING로 설정하면 요청 실패와 관련된 간결한 메시지만 표시되지만 DEBUG로 설정하면 위 표에 가능한 모든 유형의 로그가 표시됩니다.

파일에 로깅

로그 메시지를 파일로 쉽게 파이프할 수 있습니다. 예를 들어 get_campaigns 예시를 실행할 때 다음과 같이 할 수 있습니다.

python get_campaigns.py -c $CLIENT_ID 2> example.log

로깅 인터셉터

Python 클라이언트 라이브러리는 gRPC 개입자를 사용하여 요청 및 응답 세부정보에 액세스하고 로깅합니다. 맞춤 로직으로 gRPC 인터셉터를 만들어 자체 맞춤 로깅을 설정할 수 있습니다. 맞춤 로깅 인터셉터에 관한 자세한 내용과 예시는 로깅 가이드를 참고하세요.