File size: 829 Bytes
5fee096 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import os
import sys
class Logger(object):
def __init__(self, fpath):
self.console = sys.stdout
self.file = open(fpath, "w")
def __del__(self):
self.close()
def __enter__(self):
pass
def __exit__(self, *args):
self.close()
def write(self, msg):
self.console.write(msg)
if self.file is not None:
self.file.write(msg)
else:
self.console.write("Warning: Log file is None")
def flush(self):
self.console.flush()
if self.file is not None:
self.file.flush()
os.fsync(self.file.fileno())
else:
self.console.write("Warning: Log file is None")
def close(self):
self.console.close()
if self.file is not None:
self.file.close()
|