У меня есть три класса в python, и они работают в разных потоках. Я хотел бы получить вывод в тот же файл из всех классов. Прямо сейчас я создал метод вывода в основном классе и передал его через конструкторы в другие классы. Есть ли способ справиться с этим лучше? Как я могу передать логгер между классами, кроме использования конструкторов?
Возможно, python поддерживает что-то вроде статического метода в Java, поэтому я могу писать как Logger.info(сообщение) во всех трех классах?
Другим способом, вероятно, может быть перенаправление глобального файла sys.stdout в файл, т.е. указание
logger = open('debug.txt', 'w')
sys.stdout = logger
Затем, используя вызовы sys.stdout во всех классах.
Как вы думаете?