다양한 방법으로 Google Ads API와의 상호작용을 기록하도록 라이브러리를 구성할 수 있습니다. 자세한 요청 및 응답은 물론 보다 간결한 요약 메시지도 로깅할 수 있습니다. 이러한 설정은 클라이언트 라이브러리 구성에서 관리합니다. 다음은 사용 가능한 여러 유형의 구성 옵션에 관한 세부정보입니다.
라이브러리는 기본적으로 Python의 기본 제공 로깅 프레임워크를 사용하고 로그를 stderr
에 사용합니다. 포함된 경우 구성에 정의된 logging
객체가 dict
로 logging.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 인터셉터를 만들어 자체 커스텀 로깅을 설정할 수 있습니다. 커스텀 로깅 인터셉터의 자세한 내용과 예는 Logging 가이드를 참조하세요.