Чтобы перенаправить stdout на то, что вы можете прочитать, файл в этом случае:
class PyLogger:
def __init__(self, source):
self.file_handle = open('Python_Log.txt', 'a')
self.source=source
self.buf = []
def write(self, data):
self.buf.append(data)
if data.endswith('
'):
self.file_handle = open('Python_Log.txt', 'a')
self.file_handle.write(' ' * indent_level)
self.file_handle.write(self.source + "::" + ''.join(self.buf))
self.file_handle.close()
self.buf = []
def __del__(self):
if self.buf != []:
self.file_handle = open('Python_Log.txt', 'a')
self.file_handle.write(' ' * indent_level)
self.file_handle.write(self.source + "::" + ''.join(self.buf) + '
')
self.file_handle.close()
self.file_handle.close()
import sys
sys.stdout = PyLogger('stdout')
sys.stderr = PyLogger('stderr')