Có.
Bạn đã yêu cầu đăng nhập nội dung nào đó. Do đó, việc ghi nhật ký phải tạo cấu hình mặc định. Sau khi đăng nhập được cấu hình ... tốt ... nó được cấu hình.
"Với đối tượng logger cấu hình, phương pháp sau đây tạo log thông điệp:"
Hơn nữa, bạn có thể đọc về việc tạo xử lý để ngăn chặn khai thác gỗ giả mạo. Nhưng đó là một hack cho thực hiện xấu hơn là một kỹ thuật hữu ích.
Có một mẹo để làm điều này.
Không có mô-đun nào có thể làm bất kỳ điều gì ngoại trừ yêu cầu logging.getlogger()
ở mức toàn cầu.
Chỉ if __name__ == "__main__":
mới có thể thực hiện cấu hình ghi nhật ký.
Nếu bạn ghi nhật ký ở mức toàn cầu, bạn có thể buộc đăng nhập để chế tạo cấu hình mặc định của nó.
Đừng làm logging.info
trên toàn cầu trong bất kỳ mô-đun nào. Nếu bạn hoàn toàn nghĩ rằng bạn phải có logging.info
ở mức toàn cầu trong mô-đun, thì bạn phải định cấu hình ghi nhật ký trước khi nhập. Điều này dẫn đến các tập lệnh khó chịu.
Nguồn
2009-12-22 02:05:27
Để được sử dụng nguyên văn. Nếu bạn-như tôi- cố gắng tái sử dụng một logger trước đó đã khởi tạo như thế này: 'logger = logging.getLogger (__ name __)' và cố gắng lặp trong 'logger.handlers' nó sẽ không hoạt động. –
"Nếu root.handlers:" là gì? Lặp lại một chuỗi rỗng không có hiệu lực. Có thể root.handlers là một số giá trị sai khác không phải chuỗi không? (Nó không nằm trong hệ thống của tôi) – Sebastian
Có ích cho việc gỡ lỗi đăng nhập với AWS Lambdas. Có vẻ như họ cài đặt một số trình xử lý với tên 'LambdaLoggingHandler' trong quá trình khởi động lambda. Loại bỏ trình xử lý đã cài đặt đã giải quyết được sự cố. –