로깅

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

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

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

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 인터셉터를 만들어 자체 커스텀 로깅을 설정할 수 있습니다. 커스텀 로깅 인터셉터의 예와 자세한 내용은 로깅 가이드를 참조하세요.