Tôi có một tập lệnh Python sử dụng 'Print' để in ra stdout. Gần đây tôi đã thêm ghi nhật ký thông qua Python Logger và muốn làm cho nó để các báo cáo in đi đến logger nếu đăng nhập được kích hoạt. Tôi không muốn sửa đổi hoặc xóa các báo cáo in này.Chuyển hướng đầu ra 'in' của Python sang Logger
Tôi có thể đăng nhập bằng cách thực hiện 'log.info ("một số thông tin msg")'. Tôi muốn có thể làm một việc như sau:
if logging_enabled:
sys.stdout=log.info
print("test")
Nếu đăng nhập được bật, "kiểm tra" phải được ghi lại như thể tôi đã log.info ("test"). Nếu quá trình ghi nhật ký không được bật, "kiểm tra" chỉ nên được in trên màn hình.
Điều này có khả thi không? Tôi biết tôi có thể chỉ đạo stdout vào một tập tin một cách tương tự (xem: redirect prints to log file)
Trong ví dụ đầu tiên, là nó có thể có cả hai, trong tập tin và trên stdout màn hình? –