Bật tính năng ghi nhật ký

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 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 lựa 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 của Python để kiểm soát trực tiếp hơn.

Hệ thống sẽ tự động định cấu hình tính năng ghi nhật ký khi một phiên bản GoogleAdsClient được khởi chạy. Bước khởi tạo này xảy ra, chẳng hạn như 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ý mà bạn 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 của Python để kích hoạt chúng.

Khi sử dụng thư viện này 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 này với chế độ thiết lập tính năng ghi nhật ký của ứng dụng. Cụ thể, bạn phải thêm một trình xử lý nhật ký vào phiên bản trình ghi nhật ký riêng của thư viện bằng phương thức addHandler. Trình xử lý này sẽ chỉ định nơi chuyển hướng các thông báo nhật ký của thư viện (ví dụ: đến bảng điều khiển, một tệp, v.v.). Để thực hiện việc này, trước tiên, hãy truy xuất phiên bản 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 báo nhật ký.

  • Gửi nhật ký đến bảng điều khiển: Để hiển thị thông báo 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 một trình xử lý cơ bản để hướng dẫn 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 tiêu 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 logging (ghi nhật ký) tích hợp của Python. Ví dụ: để thay đổi cấp độ ghi nhật ký thành DEBUG (thao tác này sẽ cho thấy 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 số cấp độ khác nhau và bạn có thể đặt 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 Một nhật ký chi tiết có đầy đủ các đối tượng yêu cầu và phản hồi dưới dạng JSON. Một nhật ký chi tiết có đầy đủ các đối tượng yêu cầu và 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ể. Một nhật ký chi tiết có đầy đủ các đối tượng yêu cầu và ngoại lệ 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 và thông báo ngoại lệ.

Vì khung ghi nhật ký Python bỏ qua các thông báo 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 báo 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 ví dụ như get_campaigns.py từ dòng lệnh, mọi thông báo nhật ký thường được in ra bảng điều khiển đều có thể được chuyển hướng (hoặc "truyền") đến một tệp. Đây là một tính năng của trình bao trong hệ điều hành, chứ không phải của 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 một tệp (ghi đè tệp đó):

python get_campaigns.py -c $CLIENT_ID > campaign_logs.txt

Cách thêm đầu ra chuẩn vào một tệp:

python get_campaigns.py -c $CLIENT_ID >> campaign_logs.txt

Để lưu cả đầu ra chuẩn và lỗi 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+):

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ý 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ề trình chặn ghi nhật ký tuỳ chỉnh.