У меня есть сценарий Python, который использует «Печать» для печати на стандартный вывод. Недавно я добавил ведение журнала через Python Logger и хотел бы сделать так, чтобы эти операторы печати отправлялись в регистратор, если ведение журнала включено. Я не хочу изменять или удалять эти операторы печати.
Я могу войти, выполнив 'log.info("some info msg")'. Я хочу иметь возможность сделать что-то вроде этого:
if logging_enabled:
sys.stdout=log.info
print("test")
Если ведение журнала включено, "тест" должен быть зарегистрирован, как если бы я сделал log.info("тест"). Если ведение журнала не включено, «тест» должен быть просто напечатан на экране.
Возможно ли это? Я знаю, что аналогичным образом могу направить стандартный вывод в файл (см.: перенаправить отпечатки в файл журнала )