Я пытаюсь передать сообщения об ошибках в файл в моем сценарии python. У меня он работает отлично по большей части. Проблема возникает, когда я импортирую другой файл, и в этом файле есть ошибка. Вот пример (logger.py):Python stderr для импортированного класса
import time
import sys
import test
class Logger(object):
def __init__(self,outputType):
self.outputType=outputType;
self.log = open("serverLog.log", "w")
def write(self, message):
self.log = open("serverLog.log", "a")
self.log.write(message)
self.log.close()
sys.stdout = Logger("stdout")
sys.stderr = Logger("stderr")
j=0
while 3<4:
print "Sdf"
j=j+1
if j>4:
print k
time.sleep(1)
выше файл работает отлично для входа на выход и ошибки (когда test.py не импортированные).
Вот второй файл, который я ввожу (test.py) с преднамеренной ошибкой:
import time
time.sleep(1)
print x
Когда я бегу logger.py, все выходные и ошибки идут в serverLog.log, за исключением для причины ошибки путем импорта test.py.
Мне интересно, можно ли передавать сообщения об ошибках с test.py на serverLog.log без добавления чего-либо к test.py.