From c8c80b404e38fe96f65d6314cd95f4069319f3d6 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 27 Nov 2018 11:31:21 +0000 Subject: 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 --- lib/bb/server/process.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib') diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 4e0d9c2db..38a62fa34 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -412,22 +412,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) > 10: bb.error("Last 10 lines of server log for this session (%s):\n%s" % (logfile, "".join(lines[-10:]))) 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) -- cgit 1.2.3-korg