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 API Google Ads. Bạn có thể chụp:
- Thông tin chi tiết: Yêu cầu đầy đủ đã gửi đến API và phản hồi đã nhận được.
- Tóm tắt ngắn gọn: Thông tin tổng quan về các lượt tương tác.
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 tuỳ chọn cấu hình cụ thể của thư viện.
- Theo phương thức lập trình bằng Python: Sử dụng khung ghi nhật ký tích hợp sẵn của Python để kiểm soát trực tiếp hơn.
Hoạt động ghi nhật ký được tự động định cấu hình khi khởi tạo một thực thể GoogleAdsClient
. Ví dụ: bước khởi chạy này xảy ra khi bạn sử dụng phương thức load_from_storage
. Tại thời điểm này, thư viện sẽ:
- Đọc chế độ cài đặt ghi nhật ký đã chỉ định từ cấu hình của chế độ cài đặt đó.
- Truyền các chế độ cài đặt này đến
logging.config.dictConfig
tích hợp sẵn của Python để kích hoạt các chế độ cài đặt đó.
Khi thư viện này được dùng dưới dạng một gói đã cài đặt, bạn cần tích hợp tính năng ghi nhật ký của thư viện với chế độ cài đặt ghi nhật ký của ứng dụng. Cụ thể, bạn phải thêm trình xử lý ghi nhật ký vào thực thể trình ghi nhật ký của riêng thư viện bằng phương thức addHandler
. Trình xử lý này sẽ chỉ định nơi gửi thông điệp nhật ký của thư viện (ví dụ: đến bảng điều khiển, tệp, v.v.). Để thực hiện việc này, trước tiên, hãy truy xuất thực thể trình ghi nhật ký của thư viện như minh hoạ ở đây:
import logging
logger = logging.getLogger('google.ads.googleads.client')
Sau khi truy xuất trình ghi nhật ký của thư viện, bạn có thể cho trình ghi nhật ký biết nơi xuất thông điệp nhật ký.
Gửi nhật ký đến bảng điều khiển: Để hiển thị thông điệp nhật ký trên bảng điều khiển, bạn cần thêm một trình xử lý cơ bản. Sau đây là cách chuyển hướng nhật ký đến đầu ra chuẩn (
stdout
):Sau đây là cách thiết lập trình xử lý cơ bản sẽ yêu cầu trình ghi nhật ký in vào
stdout
:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stdout))
Nếu bạn muốn gửi nhật ký đến lỗi chuẩn (
stderr
), thường được dùng cho thông báo lỗi và cảnh báo:import sys # Assuming 'logger' was retrieved as per previous instructions logger.addHandler(logging.StreamHandler(sys.stderr))
Định cấu hình các chế độ cài đặt ghi nhật ký khác theo phương thức lập trình: Sau khi có đối tượng trình ghi nhật ký, bạn cũng có thể thay đổi các chế độ cài đặt ghi nhật ký khác theo phương thức lập trình bằng cách sử dụng mô-đun ghi nhật ký tích hợp sẵn của Python. Ví dụ: để thay đổi cấp độ ghi nhật ký thành
DEBUG
(sẽ hiển thị thông báo chi tiết hơn):logger.setLevel(logging.DEBUG)
Các cấp độ nhật ký
Ứng dụng tạo nhật ký ở một vài cấp độ và bạn có thể thiết lập cấu hình để xem một số hoặc tất cả các nhật ký dưới đây:
Cấp độ | Yêu cầu thành công | Yêu cầu không thành công |
---|---|---|
DEBUG |
Nhật ký chi tiết có các đối tượng yêu cầu và phản hồi đầy đủ dưới dạng JSON. | Nhật ký chi tiết có yêu cầu hoàn chỉnh và các đối tượng ngoại lệ 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. |
Vì khung ghi nhật ký Python bỏ qua các 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 thành WARNING
có nghĩa là bạn sẽ chỉ thấy các thông điệp ngắn gọn liên quan đến các yêu cầu không thành công, nhưng việc đặt thành DEBUG
có nghĩa là bạn sẽ thấy tất cả các loại nhật ký có thể có trong bảng trên.
Ghi nhật ký vào tệp
Khi bạn chạy các tập lệnh mẫu như get_campaigns.py
từ dòng lệnh, mọi thông điệp nhật ký thường được in vào bảng điều khiển đều có thể được chuyển hướng (hoặc "chuyển vào") một tệp. Đây là một tính năng của shell trong hệ điều hành, chứ không phải chính thư viện Python. Cách làm như sau:
Cách lưu đầu ra chuẩn (hầu hết nhật ký) vào tệp (ghi đè tệp đó):
python get_campaigns.py -c $CLIENT_ID > campaign_logs.txt
Cách nối dữ liệu đầu ra chuẩn vào một tệp:
python get_campaigns.py -c $CLIENT_ID >> campaign_logs.txt
Cách lưu cả đầu ra chuẩn và sai số chuẩn (đối với lỗi/cảnh báo) vào cùng một tệp:
python get_campaigns.py -c $CLIENT_ID > all_logs.txt 2>&1
(Hoặc trên một số shell hiện đại như Bash 4 trở lên):
python get_campaigns.py -c $CLIENT_ID &> all_logs.txt
Trình chặn ghi nhật ký
Thư viện ứng dụng Python sử dụng trình chặn gRPC để truy cập và ghi nhật ký yêu cầu cũng như thông tin chi tiết 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 trình chặn gRPC với 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ề trình chặn ghi nhật ký tuỳ chỉnh.