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-01-08 20:17:28 +0000
commit1351978585b76262cb104f3d609d79c184ee5d2b (patch)
tree1b489d94cd50fad3a214563af25a266907b0b5df
parent2626ff964c0a5726037e539cfd07027aded0b7a9 (diff)
downloadbitbake-1351978585b76262cb104f3d609d79c184ee5d2b.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 d12b06ff0..070da4fe7 100644
--- a/lib/bb/server/process.py
+++ b/lib/bb/server/process.py
@@ -414,22 +414,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)