+logsdir = os.path.join(os.path.expanduser('~'), 'minwii_logs')
+if not os.path.exists(logsdir) :
+ os.mkdir(logsdir)
+
+#logfile = os.path.join(logsdir, datetime.datetime.now().strftime('%Y-%m-%d-%H_%M_%S.log'))
+#logfile = open(logfile, 'w')
+
+
+class MinWiiStreamHandler(logging.StreamHandler) :
+ logfile = None
+ stream = None
+ env = []
+
+ def __init__(self) :
+ logging.Handler.__init__(self)
+ if self.stream is None :
+ self.setNewStream()
+
+ @classmethod
+ def setNewStream(cls) :
+ if cls.stream and not cls.stream.closed :
+ cls.stream.close()
+ logfile = os.path.join(logsdir, datetime.datetime.now().strftime('%Y-%m-%d-%H_%M_%S.log'))
+ cls.stream = open(logfile, 'a')
+
+ def emit(self, record) :
+ if record.name == 'minwii.env' :
+ if record.getMessage()=='NEW_LOG_FILE' :
+ self.setNewStream()
+ for rec in self.env :
+ logging.StreamHandler.emit(self, rec)
+ return
+ else :
+ self.env.append(record)
+ logging.StreamHandler.emit(self, record)
+