В python можно перенаправить sys.stderr на метод экземпляра класса? Пробовав и не воспользовавшись стандартным модулем регистрации в сочетании с модулем многопроцессорности, я прибегал к написанию собственного собственного регистратора. Хотя это может быть плохой альтернативой, мне нужны только базовые возможности ведения журнала, и бесконечные ошибки сериализации сводили меня с ума. Короче говоря, я хотел бы сделать что-то вроде:Перенаправить sys.stderr в метод экземпляра класса?
import sys
class TestClass():
def test_method(msg):
acquire threading lock and write to file
logger = TestClass()
sys.stderr = logger.test_method
Это можно сделать?
Я попытался запустить этот код, заменив комментарий '# получения потоковой блокировки' 'print (msg)', но код никогда не заканчивается - он просто продолжает работать. Я также попытался добавить 'msg' в список, и тот же результат. – user144153