for line in lines:
while 0 < len(universe.loglines) >= max_log_lines:
del universe.loglines[0]
- universe.loglines.append((level, timestamp + " " + line))
+ universe.loglines.append((timestamp + " " + line, level))
def get_loglines(level, start, stop):
"""Return a specific range of loglines filtered by level."""
# filter the log lines
- loglines = [x for x in universe.loglines if x[0] >= level]
+ loglines = [x for x in universe.loglines if x[1] >= level]
# we need these in several places
total_count = str(len(universe.loglines))
stop = 1
# some preamble
- message = "There are " + str(total_count)
- message += " log lines in memory and " + str(filtered_count)
- message += " at or above level " + str(level) + "."
- message += " The matching lines from " + str(stop) + " to "
- message += str(start) + " are:$(eol)$(eol)"
+ message = (
+ "There are %s log lines in memory and %s at or above level %s. "
+ "The matching lines from %s to %s are:$(eol)$(eol)" %
+ (total_count, filtered_count, level, stop, start))
# add the text from the selected lines
if stop > 1:
else:
range_lines = loglines[-start:]
for line in range_lines:
- message += " (" + str(line[0]) + ") " + line[1].replace(
- "$(", "$_("
- ) + "$(eol)"
+ message += " (%s) %s$(eol)" % (
+ line[1], line[0].replace("$(", "$_("))
# there were no lines
else:
- message = "None of the " + str(total_count)
- message += " lines in memory matches your request."
+ message = "None of the %s lines in memory matches your request." % (
+ total_count)
# pass it back
return message