aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-27 11:31:21 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-02-25 22:20:00 +0000
commitda54a3fef9cee308dfa87eea9b9638796d734abd (patch)
tree6cd1d2c866e0953ad688304f395cebdb4c3b67c6
parent340a7d91b5030e4d62680f427286fc419509879b (diff)
downloadbitbake-contrib-da54a3fef9cee308dfa87eea9b9638796d734abd.tar.gz
server/process: Show last 60 lines of the log if the server didn't start
We're seeing issues where the server doesn't start with no logs as to why. Allow the server to print the last 60 log lines just in case this shows us something useful about what is failing. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/server/process.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py
index 1f71c5cd2..0c6351d2e 100644
--- a/lib/bb/server/process.py
+++ b/lib/bb/server/process.py
@@ -408,22 +408,28 @@ class BitBakeServer(object):
logstart_re = re.compile(self.start_log_format % ('([0-9]+)', '([0-9-]+ [0-9:.]+)'))
started = False
lines = []
+ lastlines = []
with open(logfile, "r") as f:
for line in f:
if started:
lines.append(line)
else:
+ lastlines.append(line)
res = logstart_re.match(line.rstrip())
if res:
ldatetime = datetime.datetime.strptime(res.group(2), self.start_log_datetime_format)
if ldatetime >= startdatetime:
started = True
lines.append(line)
+ if len(lastlines) > 60:
+ lastlines = lastlines[-60:]
if lines:
if len(lines) > 60:
bb.error("Last 60 lines of server log for this session (%s):\n%s" % (logfile, "".join(lines[-60:])))
else:
bb.error("Server log for this session (%s):\n%s" % (logfile, "".join(lines)))
+ elif lastlines:
+ bb.error("Server didn't start, last 60 loglines (%s):\n%s" % (logfile, "".join(lastlines)))
else:
bb.error("%s doesn't exist" % logfile)