# simlog.py import os import libutil from libutil import dprint class SimLog: def __init__(self, env): self.SimEnvironment = env def Init(self, logFile, simulation): self.LogFile = logFile self.Simulation = simulation header = False if not(os.path.exists(self.LogFile)): header = True try: self.fd = open(self.LogFile, "a+") except: dprint("Error: could not open %s for writing" % self.LogFile) sys.exit(1) if header: self.writeHeader() def writeHeader(self): self.Write("LOG FILE for simulation \"%s\"" % self.Simulation) self.Write("================================================================================") def Write(self, message): try: if self.SimEnvironment.VERBOSE: dprint("[log] %s" % message) self.fd.write("%s\n" % message) self.fd.flush() except: dprint("Error: could not write to logfile %s" % self.LogFile) sys.exit(1) def Close(self): try: self.fd.close() except: pass