Thư viện này cung cấp tính năng ghi nhật ký linh hoạt cho các lượt tương tác với Google Ads API. Bạn có thể chụp:
- Thông tin chi tiết: Toàn bộ yêu cầu được gửi đến API và phản hồi nhận được.
- Bản tóm tắt ngắn gọn: Thông tin tổng quan cấp cao về các lượt tương tác với API.
Bạn có thể kiểm soát các chế độ cài đặt ghi nhật ký này theo hai cách:
- Cấu hình thư viện ứng dụng: Sử dụng các lựa chọn cấu hình cụ thể của thư viện trong tệp
google-ads.yamlhoặc biến môi trường. - Theo cách có lập trình bằng Python: Sử dụng khung
loggingtích hợp của Python để kiểm soát trực tiếp.
Định cấu hình thông qua google-ads.yaml
Tính năng ghi nhật ký sẽ được tự động định cấu hình khi một thực thể GoogleAdsClient được khởi chạy (ví dụ: khi bạn gọi load_from_storage). Khi khởi chạy, thư viện sẽ:
- Đọc chế độ cài đặt ghi nhật ký mà bạn chỉ định từ cấu hình.
- Truyền các chế độ cài đặt đó đến
logging.config.dictConfigtích hợp của Python để kích hoạt chúng.
Ví dụ: bạn có thể thêm một phần logging vào tệp google-ads.yaml:
logging:
version: 1
disable_existing_loggers: false
formatters:
default_fmt:
format: '[%(asctime)s - %(levelname)s] %(message).5000s'
datefmt: '%Y-%m-%d %H:%M:%S'
handlers:
default_handler:
class: logging.StreamHandler
formatter: default_fmt
loggers:
'':
handlers: [default_handler]
level: INFO
Định cấu hình theo cách lập trình
Khi sử dụng thư viện dưới dạng một gói đã cài đặt mà không có phần logging trong tệp cấu hình, bạn có thể tích hợp hoạt động ghi nhật ký của thư viện với chương trình thiết lập hoạt động ghi nhật ký của ứng dụng theo phương thức lập trình. Đính kèm một trình xử lý ghi nhật ký vào thực thể trình ghi nhật ký của thư viện (google.ads.googleads.client) bằng cách sử dụng addHandler và đặt cấp độ nhật ký mục tiêu:
import logging
import sys
# Retrieve the library's logger instance.
logger = logging.getLogger("google.ads.googleads.client")
# Direct logs to standard output (stdout).
logger.addHandler(logging.StreamHandler(sys.stdout))
# Set the log level to DEBUG to view detailed messages.
logger.setLevel(logging.DEBUG)
Nếu bạn muốn gửi nhật ký đến lỗi tiêu chuẩn (stderr), thường được dùng cho thông báo lỗi và cảnh báo, hãy truyền sys.stderr đến logging.StreamHandler:
import logging
import sys
logger = logging.getLogger("google.ads.googleads.client")
logger.addHandler(logging.StreamHandler(sys.stderr))
logger.setLevel(logging.WARNING)
Các cấp độ nhật ký
Ứng dụng sẽ tạo nhật ký ở một số mức độ nghiêm trọng và bạn có thể định cấu hình trình ghi nhật ký để xem một số hoặc tất cả các thông tin sau:
| Cấp độ | Yêu cầu thành công | Yêu cầu không thành công |
|---|---|---|
DEBUG |
Một nhật ký chi tiết có các đối tượng yêu cầu và phản hồi hoàn chỉnh dưới dạng JSON. | Nhật ký chi tiết có các đối tượng yêu cầu và ngoại lệ hoàn chỉnh dưới dạng JSON. |
INFO |
Bản tóm tắt ngắn gọn với các trường yêu cầu và phản hồi cụ thể. | Nhật ký chi tiết có các đối tượng yêu cầu và ngoại lệ hoàn chỉnh dưới dạng JSON. |
WARNING |
Không có | Bản tóm tắt ngắn gọn có thông tin cụ thể về yêu cầu, trạng thái ngoại lệ và thông báo lỗi. |
Vì khung ghi nhật ký Python bỏ qua những thông điệp nhật ký ít nghiêm trọng hơn cấp độ đã định cấu hình, nên việc đặt cấp độ thành WARNING chỉ cho thấy những thông điệp ngắn gọn cho các yêu cầu không thành công, trong khi việc đặt cấp độ thành DEBUG cho thấy tất cả các loại nhật ký trong bảng.
Ghi vào tệp
Bạn có thể ghi nhật ký vào một tệp theo cách lập trình trong Python hoặc bằng cách chuyển hướng đầu ra từ dòng lệnh.
Ghi nhật ký vào tệp trong Python
Để ghi nhật ký trực tiếp vào một tệp từ Python, hãy đính kèm một logging.FileHandler vào trình ghi nhật ký ứng dụng:
import logging
logger = logging.getLogger("google.ads.googleads.client")
file_handler = logging.FileHandler("google_ads.log")
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
Chuyển hướng đầu ra bằng trình bao
Khi chạy các tập lệnh mẫu như get_campaigns.py từ dòng lệnh, bạn có thể chuyển hướng đầu ra nhật ký trên bảng điều khiển đến một tệp bằng cách dùng shell của hệ điều hành.
Để lưu đầu ra chuẩn vào một tệp (ghi đè mọi tệp hiện có):
python get_campaigns.py -c $CUSTOMER_ID > campaign_logs.txt
Cách thêm đầu ra chuẩn vào một tệp hiện có:
python get_campaigns.py -c $CUSTOMER_ID >> campaign_logs.txt
Để lưu cả đầu ra chuẩn và lỗi chuẩn (đối với lỗi và cảnh báo) vào cùng một tệp:
python get_campaigns.py -c $CUSTOMER_ID > all_logs.txt 2>&1
Hoặc trên Bash 4 trở lên:
python get_campaigns.py -c $CUSTOMER_ID &> all_logs.txt
Trình chặn gRPC tuỳ chỉnh
Thư viện ứng dụng Python sử dụng trình chặn gRPC để truy cập và ghi nhật ký thông tin chi tiết về yêu cầu và phản hồi. Bạn có thể thiết lập tính năng ghi nhật ký tuỳ chỉnh của riêng mình bằng cách tạo một trình chặn gRPC có logic tuỳ chỉnh. Hãy xem Hướng dẫn ghi nhật ký để biết thêm thông tin chi tiết và ví dụ về một trình chặn ghi nhật ký tuỳ chỉnh.