Comments 5
Предлагалась дичь с перенаправлением stdout.
Да почему же дичь? Вот заготовка аналога утилиты tee: http://stackoverflow.com/questions/24435987/how-to-stream-stdout-stderr-from-a-child-process-using-asyncio-and-obtain-its-e
Насколько я понял там задача была другая, там именно нужно было передать выход stdout, stderr. Я не разбирался дальше зачем и почему.
Я же рассматриваю задачу передачи логов. И как оказалось в модуле логгинг есть специальный класс хендлер с помощью которого можно перехватывать сообщения логгера.
Вторая задача которая тут решалась - передача лога из потоков QTread. В доках Qt рекомендуется делать это через сигналы.
Получившееся решения кажется мне хорошим. А лезть в stdout или файлы логов мне кажется обходным путем и костылями.
Да, ваша правда. Хотя и для вашего случая есть решение https://stackoverflow.com/questions/67305609/real-time-stdout-redirect-from-a-python-function-call-to-an-async-method, однако, если вызываемый код ваш, то оно, согласен, излишне.
Вопрос не по теме: а что за оконный менеджер у вас установлен?
Python logging — вывод лога на QTextWidget (PyQt6)