+ self.logfile = logfile
+
+ # inspired from nodemanager's logger
+ def log(self,msg):
+ if self.logfile:
+ try:
+ fd = os.open(self.logfile,os.O_WRONLY | os.O_CREAT | os.O_APPEND, 0600)
+ if not msg.endswith('\n'): msg += '\n'
+ os.write(fd, '%s: %s' % (time.asctime(time.gmtime()), msg))
+ os.close(fd)
+ except:
+ print '%s: (%s failed to open) %s'%(time.asctime(time.gmtime()),self.logfile,msg)