self.log.debug("Extracting %s..." % files)
util.do("%s --root=%s %s" % (os.path.join(TOOLSDIR, "decompressor"),
- dest, " ".join(files)), shell=True)
+ dest, " ".join(files)), shell=True, logger=self.log)
def getEnvironment(self, *args, **kwargs):
return chroot.PackageEnvironment(self, *args, **kwargs)
+ @property
+ def logfile(self):
+ return os.path.join(LOGDIR, self.repo.name, self.info.id) + ".log"
+
@property
def log(self):
- return self.naoki.logging.getBuildLogger(os.path.join(self.repo.name, self.info.id))
+ return self.naoki.logging.getBuildLogger(self)
def get_repositories(toolchain=False):
# Read log and append it to mail
logfile = os.path.join(LOGDIR, package.id + ".log")
if os.path.exists(logfile):
- log = []
+ loglines = []
f = open(logfile)
line = f.readline()
while line:
line = line.rstrip("\n")
if line.endswith(LOG_MARKER):
# Reset log
- log = []
+ loglines = []
- log.append(line)
+ loglines.append(line)
line = f.readline()
f.close()
- log = email.mime.text.MIMEText("\n".join(log), _subtype="plain")
+ log = email.mime.text.MIMEText("\n".join(loglines), _subtype="plain")
log.add_header('Content-Disposition', 'attachment',
filename="%s.log" % package.id)
msg.attach(log)
self.log.debug("Disabled debug logging mode")
self.log.handlers[0].setLevel(logging.INFO)
- def _setupBuildLogger(self, logger):
+ def _setupBuildLogger(self, logger, package):
logger.setLevel(logging.DEBUG)
logger.parent = self.log
logger.propagate = 1
- logfile = os.path.join(LOGDIR, logger.name + ".log")
+ logfile = package.logfile
logdir = os.path.dirname(logfile)
if not os.path.exists(logdir):
logger.addHandler(handler)
- def getBuildLogger(self, name):
- logger = logging.getLogger(name)
+ def getBuildLogger(self, package):
+ logger = logging.getLogger(package.id)
if not logger.handlers:
- self._setupBuildLogger(logger)
+ self._setupBuildLogger(logger, package)
return logger